SBlendyMCP
БесплатноНе проверенAn MCP server for AI agents that enables direct control of Blender — creating, modifying, inspecting, and rendering 3D scenes and models through natural languag
Описание
An MCP server for AI agents that enables direct control of Blender — creating, modifying, inspecting, and rendering 3D scenes and models through natural language.
README
An MCP (Model Context Protocol) server for GitHub Copilot and other AI agents that enables direct control of Blender — creating, modifying, inspecting, and rendering 3D scenes and models through natural language.
Built with C# / .NET 10, the MCP C# SDK, and communicates with Blender via its built-in TCP socket addon. Standalone, no python, no uv/uvx.
🎯 Focus
Primary focus is AI-assisted 3D modeling and scene authoring for:
- Programmatic object creation, transformation, and manipulation
- Mesh editing and sculpting via Blender's operator API
- Material and shader node authoring
- Rendered screenshot capture with controlled camera angles
- File import/export (glTF, OBJ, FBX, STL, PLY, USD)
- Geometry Nodes and modifier stack automation
Works with any Blender scene — not limited to a specific workflow.
🔧 Tools (47 total)
Help & Documentation (1 tool)
| Tool | Description |
|---|---|
blender_help |
Guides agents on how to use this MCP: topic (START_HERE for getting-started/best-tools-for-basic-modeling, or a domain: MESH, UV, TRANSFORM, OBJECT, SCENE, SURFACE, CURVE, TEXT, COLLECTION, SHAPE_KEY, VERTEX_GROUP, ARMATURE, LIGHT, CAMERA, FILE, SNAPPING, NODES, CONSTRAINTS, PHYSICS, COMPOSITOR, UTILITY, MATERIAL, SCULPT, RENDER, GREASE_PENCIL, BAKING), detail (OVERVIEW/DETAILED), or tool for one tool |
Scene Inspection (1 tool)
| Tool | Description |
|---|---|
blender_scene_inspect |
Inspect the scene via action: INFO, LIST_OBJECTS, OBJECT_DETAILS, COLLECTIONS, MATERIALS |
Object Creation & Manipulation (6 tools)
| Tool | Description |
|---|---|
blender_object_create |
Create primitives via meshType: CUBE, SPHERE, CYLINDER, PLANE, CONE, TORUS, ICOSPHERE, MONKEY, plus optional segments, segments2, minorRadius (torus), height, and wallThickness+openTop for hollow open cylinders (jar glass) |
blender_object_batch |
Create N copies of a primitive at positions and optionally join into one mesh (rivets, bubbles, repeated props) |
blender_object_edit |
Edit objects via action: DELETE, TRANSLATE, ROTATE, SCALE, DUPLICATE, SET_ACTIVE, APPLY_TRANSFORM, JOIN |
blender_mesh_create |
Create a mesh from JSON vertices/faces with optional edges, material indices, UVs, transforms, collection, material, and shading |
blender_object_duplicate |
Duplicate an existing object with optional linked data and transform/material/collection/shading overrides |
blender_object_recipe |
Compact creation workflow using a primitive, custom mesh payload, or existing object as the source |
Mesh Editing & Selection (3 tools)
| Tool | Description |
|---|---|
blender_mesh_edit |
Edit-Mode mesh operations via action: EXTRUDE_REGION, EXTRUDE_INDIVIDUAL, SUBDIVIDE, BEVEL, LOOP_CUT, KNIFE_CUT, BISECT, MERGE, DISSOLVE, TRIS_TO_QUADS, QUADS_TO_TRIS, INSET_FACES, FILL, BRIDGE_EDGE_LOOPS, POKE, SEPARATE, SHADE_SMOOTH, CLEANUP, SET_SELECT_MODE |
blender_mesh_select |
Selection operations via action: ALL, LINKED, BY_TYPE, SIMILAR, NON_MANIFOLD, LOOSE, INTERIOR_FACES, RANDOM, MORE, LESS, SHORTEST_PATH, BY_NORMAL, FACE_BY_SIDES |
blender_mesh_query |
Read/modify mesh data via action: VERTICES, EDGES, FACES, NORMALS, UV_LAYERS, VERTEX_COLORS, BOUNDING_BOX, STATS, SET_VERTEX_POSITION |
Object Operators & Modifiers (2 tools)
| Tool | Description |
|---|---|
blender_object_ops |
Object-level ops via action: SHADE_SMOOTH, SHADE_FLAT, SHADE_AUTO_SMOOTH, SET_ORIGIN, CONVERT_TO_MESH, DATA_TRANSFER |
blender_object_modifier |
Modifier ops via action: ADD (SUBSURF, MIRROR, ARRAY, SOLIDIFY, BEVEL, DECIMATE, etc.), BOOLEAN (INTERSECT/UNION/DIFFERENCE), APPLY_ALL |
Sculpting (2 tools)
| Tool | Description |
|---|---|
blender_sculpt |
Sculpt ops via action: ENTER, EXIT, STROKE, VOXEL_REMESH, DYNTOPO, MESH_FILTER, SYMMETRY, MASK |
blender_sculpt_brush |
Brush ops via action: SET_BRUSH, BRUSH_SETTINGS (size/strength/direction/falloff/symmetry) |
Materials (1 tool)
| Tool | Description |
|---|---|
blender_material |
Material ops via action: CREATE (Principled BSDF), ASSIGN (to slot), SET_COLOR, SET_TEXTURE, REMOVE |
Shader & Node Editor (3 tools)
| Tool | Description |
|---|---|
blender_node |
Node editor ops via action: CREATE, LINK, UNLINK, DELETE, LIST, SET_VALUE, ARRANGE |
blender_geometry_nodes |
Geometry Nodes via action: CREATE_GROUP, ADD_MODIFIER |
blender_material_preset |
Quick shader setups via preset: BASIC_PRINCIPLED, EMISSION, GLASS, MIX_COLOR, FRESNEL_RIM, NORMAL_MAP, TRANSPARENT, EMISSION_GLOW, plus cel-shaded toon presets TOON_FLAT, TOON_EMISSION, TOON_GLASS, TOON_GRUNGE (rampColors, gain, transparent) |
Transform (2 tools)
| Tool | Description |
|---|---|
blender_transform |
Transform selected elements via action: TRANSLATE, ROTATE, RESIZE, MIRROR, SHEAR, SHRINK_FATTEN, TO_SPHERE, PUSH_PULL, BEND, TRACKBALL |
blender_transform_advanced |
Advanced transforms via action: EDGE_SLIDE, VERT_SLIDE, VERTEX_RANDOM, VERTEX_WARP, SKIN_RESIZE, CREASE, CREATE_ORIENTATION |
UV Editing (2 tools)
| Tool | Description |
|---|---|
blender_uv_project |
UV projection/unwrap via action: UNWRAP, SMART_PROJECT, CUBE, CYLINDER, SPHERE, PROJECT_FROM_VIEW, FOLLOW_ACTIVE_QUADS |
blender_uv_islands |
UV layout/island ops via action: PACK, AVERAGE_SCALE, ALIGN, ALIGN_ROTATION, MINIMIZE_STRETCH, STITCH, MARK_SEAM, SEAMS_FROM_ISLANDS, PIN, WELD, REMOVE_DOUBLES, SELECT_ALL, SELECT_LINKED, SELECT_PINNED, EXPORT_LAYOUT, COPY, PASTE, HIDE, REVEAL, RESET |
NURBS Surfaces — bpy.ops.surface (1 tool)
| Tool | Description |
|---|---|
blender_surface_add |
Add a NURBS surface via action: SPHERE, CYLINDER, TORUS, CURVE, CIRCLE, SURFACE |
Curves & Text (3 tools)
| Tool | Description |
|---|---|
blender_curve_add |
Add a curve via action: BEZIER, CIRCLE, NURBS_PATH, NURBS_CIRCLE |
blender_curve_edit |
Edit a curve via action: SET_EXTRUDE, SET_RESOLUTION, SET_HANDLE_TYPE, SET_SPLINE_TYPE, SUBDIVIDE, SELECT_ALL |
blender_text |
Text objects via action: ADD, SET_CONTENT, SET_STYLE, CONVERT_TO_MESH |
Collections (1 tool)
| Tool | Description |
|---|---|
blender_collection |
Manage collections via action: CREATE, DELETE, RENAME, ADD_OBJECT, REMOVE_OBJECT, MOVE_OBJECT, SET_VISIBILITY, LIST |
Shape Keys / Morph Targets (1 tool)
| Tool | Description |
|---|---|
blender_shape_key |
Shape keys via action: ADD_BASIS, ADD, SET_VALUE, LIST, DELETE, APPLY |
Vertex Groups (1 tool)
| Tool | Description |
|---|---|
blender_vertex_group |
Vertex groups via action: CREATE, DELETE, ASSIGN_SELECTED, SET_WEIGHT, LIST, NORMALIZE, CLEAN |
Constraints (1 tool)
| Tool | Description |
|---|---|
blender_constraint |
Constraint ops via action: ADD (29 constraint types), REMOVE, LIST, SET_INFLUENCE, SET_TARGET, MUTE, SETUP_TRACK_TO, SETUP_COPY_ROTATION |
Armature & Rigging (1 tool)
| Tool | Description |
|---|---|
blender_armature |
Armature & rigging via action: ADD, ADD_BONE, EXTRUDE_BONE, SUBDIVIDE_BONE, LIST_BONES, PARENT_OBJECT, SET_POSE_POSITION |
Lighting (1 tool)
| Tool | Description |
|---|---|
blender_light |
Lighting via action: ADD (POINT/SUN/SPOT/AREA), SET_PROPERTIES, LIST, THREE_POINT |
Camera (1 tool)
| Tool | Description |
|---|---|
blender_camera |
Camera ops via action: ADD, SET_ACTIVE, SET_LENS, SET_DOF, SET_ORTHO, SET_PANO, LIST |
Snapping & Pivot (2 tools)
| Tool | Description |
|---|---|
blender_snap |
Snapping via action: CURSOR_TO_SELECTED, CURSOR_TO_ORIGIN, CURSOR_TO_ACTIVE, SELECTION_TO_CURSOR, SELECTION_TO_GRID, SET_SETTINGS (element/target/options) |
blender_tool_settings |
Transform tool settings via action: SET_PIVOT, SET_PROPORTIONAL (falloff/size), SET_ORIENTATION (GLOBAL/LOCAL/NORMAL/GIMBAL/VIEW/CURSOR/PARENT) |
Baking (1 tool)
| Tool | Description |
|---|---|
blender_bake |
Baking via action: SETUP_IMAGE (create+assign bake image), EXECUTE (NORMAL/AO/COMBINED/DIFFUSE/...), NORMAL, AO, DIFFUSE quick bakes. NOTE: Blender 5.x needs CYCLES — EEVEE does not support baking |
Grease Pencil (1 tool)
| Tool | Description |
|---|---|
blender_grease_pencil |
Grease Pencil ops via action: ADD_OBJECT, ADD_ANNOTATION, SET_MATERIAL, DRAW_STROKE, SET_STROKE_SETTINGS, CLEAR (Blender 4+ v3 API) |
Compositor (1 tool)
| Tool | Description |
|---|---|
blender_compositor |
Compositor ops via action: ENABLE, ADD_NODE, LINK, LIST, SET_VALUE, DELETE_NODE, GLARE (bloom/ghosts/streaks/...), COLOR_CORRECTION (brightness/contrast/gamma) |
Physics (2 tools)
| Tool | Description |
|---|---|
blender_rigidbody |
Rigid body via action: ADD (ACTIVE/PASSIVE, 8 shapes incl. COMPOUND), REMOVE, SET_PROPERTIES, ADD_CONSTRAINT (FIXED/HINGE/SLIDER/MOTOR/...) |
blender_simulation |
Simulations via action: CLOTH_ADD, CLOTH_PIN, SOFTBODY_ADD, FLUID_DOMAIN, FLUID_FLOW, FLUID_EFFECTOR, REMOVE |
Rendering & Screenshots (2 tools)
| Tool | Description |
|---|---|
blender_render |
Render/capture via action: STILL (full render, optional camera/engine/resolution override), THUMBNAIL (fast 320px preview), SCREENSHOT (3D viewport) — returns PNG image |
blender_set_camera_view |
Position camera at location, point at target, set focal length |
File & Data Management (2 tools)
| Tool | Description |
|---|---|
blender_file |
File/data ops via action: NEW_SCENE, SET_SCENE_SETTINGS (incl. viewTransform for the Standard/AgX color transform and Freestyle enable/thickness), GET_INFO, RELOAD_SCRIPTS, LIST_DATA_BLOCKS, RENAME_DATA, DELETE_DATA, APPEND_FROM |
blender_file_resources |
Resource ops via action: PACK, UNPACK, PURGE |
Import/Export (2 tools)
| Tool | Description |
|---|---|
blender_export |
Export as glTF/GLB, OBJ, or FBX via format enum |
blender_import |
Import: glTF, OBJ, FBX, STL, PLY, COLLADA, Alembic, USD |
Utility (4 tools)
| Tool | Description |
|---|---|
blender_execute_code |
Execute arbitrary Python code with bpy access |
blender_undo_redo |
UNDO/REDO last operation via action enum |
blender_file_io |
SAVE/OPEN .blend files via action enum |
blender_check_connection |
Verify Blender addon is reachable |
📋 Prerequisites
- .NET 10 SDK
- Blender (3.0+) with the BlenderMCP addon enabled on port
9876
Enable the BlenderMCP addon
- Open Blender → Edit → Preferences → Add-ons
- Search for "BlenderMCP" and enable it
- In the addon preferences, ensure Auto Start is checked and port is
9876 - The server starts automatically — or click Start MCP Bridge Server manually
🚀 Quick Start
1. Build
cd sBlendyMCP
dotnet build
2. Configure in VS Code
Add to your .vscode/mcp.json or VS Code settings:
{
"servers": {
"sBlendyMCP": {
"type": "stdio",
"command": "dotnet",
"args": ["${workspaceFolder}/sBlendyMCP/bin/Debug/net10.0/sBlendyMCP.dll"]
}
}
}
3. Run standalone (for testing)
dotnet run --project sBlendyMCP/sBlendyMCP.csproj
The server communicates via stdio — it's designed to be launched by MCP clients like GitHub Copilot.
MCP Configuration
Option A: Run via dotnet (development)
{
"servers": {
"sBlendyMCP": {
"type": "stdio",
"command": "dotnet",
"args": [
"${workspaceFolder}/sBlendyMCP/bin/Debug/net10.0/sBlendyMCP.dll"
],
"env": {
"BLENDER_MCP_HOST": "localhost",
"BLENDER_MCP_PORT": "9876",
"BLENDER_MCP_TIMEOUT": "300"
}
}
}
}
Option B: Self-contained executable (production)
dotnet publish sBlendyMCP/sBlendyMCP.csproj -c Release -o ./publish
{
"servers": {
"sBlendyMCP": {
"type": "stdio",
"command": "${workspaceFolder}/publish/sBlendyMCP.exe",
"args": [],
"env": {
"BLENDER_MCP_HOST": "localhost",
"BLENDER_MCP_PORT": "9876"
}
}
}
}
⚙️ Configuration
All configuration is via environment variables:
| Variable | Default | Description |
|---|---|---|
BLENDER_MCP_HOST |
localhost |
Blender MCP addon host address |
BLENDER_MCP_PORT |
9876 |
Blender MCP addon TCP port |
BLENDER_MCP_TIMEOUT |
300 |
Socket timeout in seconds |
🏗️ Architecture
sBlendyMCP/
├── Program.cs # Entry point, DI, stdio transport
├── sBlendyMCP.csproj # .NET 10 + ModelContextProtocol SDK
└── Blender/
├── BlenderConnection.cs # TCP socket client to Blender addon
├── HelpTools.cs # blender_help documentation tool (1 tool)
├── SceneTools.cs # Scene inspection (1 tool)
├── ObjectTools.cs # Object CRUD + mesh/recipe creation + transforms
├── MeshOperatorsTools.cs # Edit Mode mesh ops (21 tools)
├── ObjectOperatorsTools.cs # Object Mode ops + modifiers (12 tools)
├── SculptTools.cs # Sculpting + brushes (2 tools)
├── MaterialTools.cs # Material management (1 tool)
├── NodeEditorTools.cs # Shader/geometry nodes (3 tools)
├── RenderTools.cs # Render + screenshots (2 tools)
├── TransformOperatorTools.cs # Transform ops (19 tools)
├── UVOperatorTools.cs # UV editing ops (22 tools)
├── SurfaceOperatorTools.cs # NURBS surface ops (1 tool)
├── CurveTextTools.cs # Curves & text (3 tools)
├── CollectionTools.cs # Collection management (1 tool)
├── ShapeKeyTools.cs # Shape keys / morph targets (1 tool)
├── VertexGroupTools.cs # Vertex groups (1 tool)
├── ConstraintTools.cs # Object constraints (1 tool)
├── ArmatureTools.cs # Armature & rigging (1 tool)
├── LightingTools.cs # Lighting (1 tool)
├── CameraTools.cs # Camera setup (1 tool)
├── MeshDataAccessTools.cs # Read mesh data (9 tools)
├── MeshSelectionTools.cs # Advanced selection (10 tools)
├── SnappingTools.cs # Snap & pivot & proportional (2 tools)
├── BakingTools.cs # Texture baking (1 tool)
├── GreasePencilTools.cs # Grease Pencil drawing (1 tool, v3 API)
├── CompositorTools.cs # Compositor post-processing (1 tool)
├── PhysicsTools.cs # Physics sims (2 tools)
├── CodeExecutionTools.cs # Python exec + import/export + undo/redo + file I/O (6 tools)
└── FileOperatorsTools.cs # File/data management (2 tools)
Communication Protocol
┌─────────────┐ stdio (MCP) ┌──────────────┐ TCP:9876 ┌─────────────┐
│ Copilot / │ ◄────────────► │ sBlendyMCP │ ◄──────────► │ Blender │
│ AI Agent │ JSON-RPC │ C# Server │ null-byte │ MCP Addon │
│ │ │ │ delimited │ │
└─────────────┘ └──────────────┘ JSON └─────────────┘
- The AI agent sends a tool call via MCP (stdio JSON-RPC)
- sBlendyMCP constructs a Python script for the requested operation
- The script is sent to Blender's TCP socket addon as
{"type": "execute", "code": "import bpy\n...", "strict_json": true} - Blender executes the Python in its main thread and returns the result
- sBlendyMCP parses the response and returns it to the AI agent
For render/screenshot tools, images are returned as base64-encoded PNG via MCP's ImageContentBlock.
🧪 Extending
Adding new tools
- Create a new
[McpServerToolType]class inBlender/ - Inject
BlenderConnectionvia constructor - Add
[McpServerTool]methods with[Description]attributes - The tool is auto-discovered by
WithToolsFromAssembly()
Using blender_execute_code for custom operations
Any Blender operation not covered by the existing tools can be done via blender_execute_code:
# Example: Add a Bezier curve
import bpy
bpy.ops.curve.primitive_bezier_curve_add(radius=1.0, location=(0, 0, 0))
curve = bpy.context.active_object
result = dict(name=curve.name, type=curve.type)
The code has full access to bpy and mathutils. Set result = dict(...) to return data.
📦 Dependencies
| Package | Version | Purpose |
|---|---|---|
| ModelContextProtocol | 0.3.0-preview.3 | MCP server SDK |
| Microsoft.Extensions.Hosting | 10.0.0-preview.5 | DI, logging, lifecycle |
📄 License
Inspired by
Установка SBlendyMCP
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/Tyrannmisu/sBlendyMCPFAQ
SBlendyMCP MCP бесплатный?
Да, SBlendyMCP MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для SBlendyMCP?
Нет, SBlendyMCP работает без API-ключей и переменных окружения.
SBlendyMCP — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить SBlendyMCP в Claude Desktop, Claude Code или Cursor?
Открой SBlendyMCP на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
автор: lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
MCPHub
Website to list high quality MCP servers and reviews by real users. Also provide online chatbot for popular LLM models with MCP server support.
MCP Servers Rating and User Reviews
Website to rate MCP servers, write authentic user reviews, and [search engine for agent & mcp](http://www.deepnlp.org/search/agent)
mkinf
An Open Source registry of hosted MCP Servers to accelerate AI agent workflows.
Compare SBlendyMCP with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
