Blender Script Manager
Manage and execute Blender Python scripts effortlessly. Add, edit, and run scripts in a headless Blender environment while tracking execution results and metadata. Streamline your Blender scripting workflow with this powerful server.
Installation
Installing for Claude Desktop
Option 1: One-Command Installation
npx mcpbar@latest install cwahlfeldt/blender-mcp -c claude
This command will automatically install and configure the Blender Script Manager MCP server for your selected client.
Option 2: Manual Configuration
Run the command below to open your configuration file:
npx mcpbar@latest edit -c claude
After opening your configuration file, copy and paste this configuration:
View JSON configuration
{
"mcpServers": {
"Blender Script Manager": {
"command": "uvx",
"args": [
"blender-mcp"
],
"env": {}
}
}
}
Blender MCP Server
A Model Context Protocol (MCP) server for managing and executing Blender scripts.
Features
- Add, edit, execute, and remove Blender Python scripts
- Execute scripts in a headless Blender environment
- View execution results and errors
- Track script metadata (creation date, last modified, execution count)
Requirements
- Python 3.7+
- Blender installed and accessible
- MCP library (
pip install mcp
)
Usage
-
Start the server:
python server.py
-
Connect to the server using an MCP client (like Claude Desktop)
-
Use the provided tools to manage scripts:
add_script(name, content)
- Add a new scriptedit_script(name, content)
- Edit an existing scriptexecute_script(name, blend_file=None)
- Execute a script in Blender, optionally specifying a .blend fileremove_script(name)
- Remove a script
-
Access resources to get information:
scripts://list
- Get list of available scriptsscript://{name}
- Get content of a specific scriptresult://{name}
- Get execution result of a script
Examples
Basic Example
# Add a simple script
add_script("hello_cube", '''
import bpy
# Clear existing objects
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()
# Create a cube
bpy.ops.mesh.primitive_cube_add(size=2, location=(0, 0, 0))
print("Cube created!")
''')
# Execute the script
execute_script("hello_cube")
# Get the result
# Access using: result://hello_cube
Working with Blend Files
# Add a script that works with a blend file
add_script("analyze_scene", '''
import bpy
# Print information about the current scene
print(f"Current Blender version: {bpy.app.version_string}")
print(f"Current file: {bpy.data.filepath}")
# List all objects in the scene
print("\\nObjects in the scene:")
for obj in bpy.data.objects:
print(f" - {obj.name} ({obj.type})")
''')
# Execute with a specific blend file
execute_script("analyze_scene", blend_file="/path/to/your/project.blend")
# Get the result
# Access using: result://analyze_scene
How It Works
- When a script is added, it's stored in the
script_files/scripts
directory - When executed, the script is run in a headless Blender instance
- If a blend file is specified, Blender will open that file before running the script
- Otherwise, a default empty Blender scene is used
- Output and errors are captured and stored in the
script_files/results
directory - Metadata about scripts is tracked in
script_files/metadata.json
Installation
- Clone this repository
- Install the MCP library:
pip install mcp
- Ensure Blender is installed and accessible from your PATH
License
MIT
Details:
Stars
8Forks
1Last commit
4 months agoRepository age
4 months
Auto-fetched from GitHub .
MCP servers similar to Blender Script Manager:

Stars
Forks
Last commit

Stars
Forks
Last commit

Stars
Forks
Last commit