Blender MCP Server - UBOS

✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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

  1. Start the server:

    python server.py
    
  2. Connect to the server using an MCP client (like Claude Desktop)

  3. Use the provided tools to manage scripts:

    • add_script(name, content) - Add a new script
    • edit_script(name, content) - Edit an existing script
    • execute_script(name, blend_file=None) - Execute a script in Blender, optionally specifying a .blend file
    • remove_script(name) - Remove a script
  4. Access resources to get information:

    • scripts://list - Get list of available scripts
    • script://{name} - Get content of a specific script
    • result://{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

  1. When a script is added, it’s stored in the script_files/scripts directory
  2. 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
  3. Output and errors are captured and stored in the script_files/results directory
  4. Metadata about scripts is tracked in script_files/metadata.json

Installation

  1. Clone this repository
  2. Install the MCP library: pip install mcp
  3. Ensure Blender is installed and accessible from your PATH

License

MIT

Featured Templates

View More
Customer service
Service ERP
124 631
AI Characters
Sarcastic AI Chat Bot
126 1221
AI Characters
Your Speaking Avatar
162 567
Customer service
AI-Powered Product List Manager
140 506
AI Assistants
Image to text with Claude 3
150 933
Verified Icon
AI Agents
AI Chatbot Starter Kit
1270 5562 5.0

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.