Blender MCP Server
212 tool AI-powered automation for Blender 5.0+ via the Model Context Protocol.
The Blender MCP Server is a Model Context Protocol (MCP) server addon for Blender 5.0+ that exposes 212 tools, 14 resources, and 12 prompts to AI agents via JSON-RPC 2.0 over HTTP. Built by StraySpark. Licensed under the MIT License.
Feature Overview
| Feature | Details |
|---|---|
| Tools | 212 tools across 22 configurable categories |
| Resources | 14 read-only data sources for scene/editor context |
| Prompts | 12 reusable workflow templates |
| Protocol | MCP spec 2025-06-18 (Streamable HTTP) + backward-compatible SSE |
| Transport | JSON-RPC 2.0 over HTTP on configurable port (default 13580) |
| Application | Blender 5.0+, addon module (Windows, macOS, Linux) |
| Threading | All Blender API calls dispatched to main thread via bpy.app.timers |
| Undo | All mutating tools wrapped in undo steps (Ctrl+Z) |
| Presets | 5 tool presets: Full, Modeling, Animation, Rendering, Minimal |
How It Works
AI clients such as Claude Code, Cursor, or any MCP-compatible agent connect to the addon over HTTP. The addon translates JSON-RPC 2.0 requests into Blender Python API calls, executing them on the main thread with full undo support.
AI Client (Claude Code, Cursor, etc.)
|
| HTTP POST/GET/DELETE (JSON-RPC 2.0)
v
+--------------------------------------------------+
| BlenderMCPServer (Streamable HTTP + Legacy SSE) |
| Port 13580 (configurable) |
+--------------------------------------------------+
| JSON-RPC Dispatch |
| +-- initialize / ping |
| +-- tools/list -> ToolRegistry (212 tools) |
| +-- tools/call -> Tool Handler (main thread) |
| +-- resources/list/read -> ResourceProvider |
| +-- prompts/list/get -> PromptProvider |
+--------------------------------------------------+
| Addon Preferences (presets, category toggles, |
| rate limiting, security, verbose logging) |
+--------------------------------------------------+
| Main-Thread Bridge (bpy.app.timers) |
+--------------------------------------------------+
| Blender Python API (bpy) |
+--------------------------------------------------+
Each tool handler executes on Blender's main thread via bpy.app.timers.register(). All mutating operations are wrapped in bpy.ops.ed.undo_push() for full undo support.
Tool Categories at a Glance
The 212 tools are organized into 22 categories grouped by domain:
- Core -- Object (15), Scene (8), Collection (6), Viewport (5)
- Modeling -- Mesh (18), Curve (8), Modifier (12), Boolean (4)
- Shading -- Material (10), Shader Nodes (14), Texture (6)
- Animation -- Keyframe (8), Driver (5), NLA (6), Constraint (8)
- Rigging -- Armature (12), Weight Paint (6)
- Rendering -- Render (8), Compositing (6), World (4)
- Sculpting -- Sculpt (10), UV (8)
See the full Tool Categories reference for details on every tool.
Presets
Choose a preset to control which tool categories are available and manage AI context token costs:
| Preset | Tools | Use Case |
|---|---|---|
| Full | 212 | All 22 categories enabled. Maximum capability. |
| Modeling | ~90 | Object + Mesh + Curve + Modifier + Boolean + Material + UV. |
| Animation | ~80 | Object + Keyframe + Driver + NLA + Constraint + Armature + Weight Paint. |
| Rendering | ~60 | Object + Scene + Material + Shader Nodes + Texture + Render + Compositing + World. |
| Minimal | ~30 | Object + Scene + Viewport only. Lowest context cost. |
Resources and Prompts
The addon provides 14 read-only resources for context awareness (scene info, object hierarchy, render settings, performance stats) and 12 reusable prompts for common workflows (hard-surface modeling, character rigging, scene lighting).
Next Steps
- Getting Started -- Install the addon and connect your first AI client
- Installation -- Detailed installation, configuration, and troubleshooting
- Tool Categories -- Browse all 212 tools across 22 categories
- Architecture -- Deep dive into the addon's internal design
- API Reference -- Python classes, HTTP endpoints, and tool registration