Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

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

GitHubEmbed

Описание

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

Enable the BlenderMCP addon

  1. Open Blender → EditPreferencesAdd-ons
  2. Search for "BlenderMCP" and enable it
  3. In the addon preferences, ensure Auto Start is checked and port is 9876
  4. 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         └─────────────┘
  1. The AI agent sends a tool call via MCP (stdio JSON-RPC)
  2. sBlendyMCP constructs a Python script for the requested operation
  3. The script is sent to Blender's TCP socket addon as {"type": "execute", "code": "import bpy\n...", "strict_json": true}
  4. Blender executes the Python in its main thread and returns the result
  5. 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

  1. Create a new [McpServerToolType] class in Blender/
  2. Inject BlenderConnection via constructor
  3. Add [McpServerTool] methods with [Description] attributes
  4. 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

MIT

Inspired by

from github.com/Tyrannmisu/sBlendyMCP

Установка SBlendyMCP

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/Tyrannmisu/sBlendyMCP

FAQ

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

Compare SBlendyMCP with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai