Skip to main content
Glama

Blender MCP — Streamable-HTTP-Brücke für Blender 5.2 LTS

Eine Model Context Protocol-Brücke, die es jedem MCP-Client (Antigravity, Cursor, Claude Desktop, VS Code 1.101+, MCPMiniMax Code, Windsurf, Continue, Cline, OpenCode, Codex, MCP-Inspector, …) ermöglicht, Blender 5.2 LTS über natürlichte Sprache zu steurn.

Das Add-on fürt innerhälb von Blender auf einem 3Fügrgrund-Thread einen MCP-Streamable-HTTP-Server aus. Der Client hat nur darauf zu verweisen — es wird kein Unterprozess geschlä,plicate" and kein Socket-Paar, das re looked, neit.


Warum dieser Auf-bau

  • Ein einziger Installionspfad in Blender. Der MCP-Server lädt process intern über bpy, Es there is no uvx/pipx-Getans and no socket-paar, dass consideration must be kept.

  • Streamable HTTP auf localhost. The working with every modern MCP-client.

  • Self-gebauter MCP-server in Add-on. Blender 5.2 LTS is 5.2 included as a rule Pyprocess 3.12, Python 3.13. without external Pakte. A ein MCP-Server with ~300-zeilen is portabler, as the designmcap[cli] to add and sys.path to pass.

  • **Unabhängigohne Vom Client. **Kein proprietäres Plugin-Format. Jeder MCP-Client, der einen HTTP-Endpunkt (oder einen stdio-Proxy, der das kann) reicht, funktioniert.


Related MCP server: blender-mcp

Projektstruktur

blender_addon_mcp/
├── README.md                      ← you are here
├── LICENSE                        ← MIT
├── pyproject.toml                 ← dev tooling for the add-on (ruff, mypy, pytest)
├── .gitignore
├── addon/
│   └── blender_mcp_addon/         ← zips into a Blender-installable .zip
│       ├── __init__.py            ← bl_info, register/unregister, preferences
│       ├── server/
│       │   ├── __init__.py
│       │   ├── mcp_server.py      ← MCP protocol (initialize, tools/list, tools/call, ping)
│       │   ├── transport.py       ← stdlib http.server, runs on a daemon thread
│       │   └── protocol.py        ← JSON-RPC 2.0 + MCP 2025-03-26 types
│       ├── tools/
│       │   ├── __init__.py        ← tool registry
│       │   ├── scene.py           ← scene_info, frame control
│       │   ├── objects.py         ← list, get, create, delete, transform
│       │   ├── materials.py       ← create, assign, modify
│       │   ├── modifiers.py       ← add, set params, remove
│       │   ├── render.py          ← render_image, screenshot_viewport
│       │   └── code.py            ← execute_python (with confirmation)
│       └── utils/
│           ├── __init__.py
│           ├── bpy_helpers.py     ← bpy → JSON serialization
│           └── safe_eval.py       ← ast-validated code execution
├── scripts/
│   ├── install_addon.ps1          ← zip and install into Blender
│   ├── blender_mcp_proxy.js       ← optional stdio/socket ↔ HTTP bridge for
│   │                                Antigravity builds that don't accept `url`
│   └── start_blender_mcp_bridge.ps1  ← start/stop/status lifecycle for the bridge
├── examples/
│   ├── mcp-configs.md             ← copy-paste configs for every major MCP client
│   ├── basic_scene.md
│   ├── material_setup.md
│   └── render_workflow.md
└── docs/
    ├── architecture.md
    ├── blender_5_2_notes.md
    └── tools_reference.md

Schnellstart

1. Das Add-on installeren

# clone
git clone https://github.com/tattooinmtl/Blender_MCP.git
cd Blender_MCP

# install the add-on into every Blender version on this machine
pwsh ./scripts/install_addon.ps1

2. Server in Blender aktivern

  1. Öffnen Sie die. Blender).

  2. Beiten → Preferences- – Add-ons befolgen, in the „Blender MCP" such and theHäkchen setzen.

  3. Den Port festlegen (Standardwert 8765) and on Start Server. (or the Blender MCP- panel in the side bar of the 3D-Viewports use).

  4. Konsole should there in the following structure:

[Blender MCP] Server listening on http://127.0.0.1:8765/mcp

3. MCP-Client anbind

Wählen Sie den Client, den Sie verwnden, and fügen Sie the passende Snippet aus examples/mcp-configs.md e.g. Bei Antigravity is die url-Form einfach gene:

{
  "mcpServers": {
    "blender": { "url": "http://127.0.0.1:8765/mcp" }
  }
}

Snippet für Cursor, Claude Desktop, VS Code, MiniMax Code, Windsurf, Continue, Cline, Cline,.

4. Verifizieren

In a mailMCP-Client-Chat:

Verwendem Sie den Blendererver: ping

You will see that the agent tools/call is called with ping on and from a empty, successful result report. From a terminal is:

curl -s -X POST http://127.0.0.1:8765/mcp `
  -H "Content-Type: application/json" `
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}'

Tools in General

Tool

Purpose

Non-Reading

Beginget_addon_info

Fähigkeiten-Handshake — Naame, Version, Protokoll, Tö clore allowed. In directory.

ja

scene_info

Szene zusammenfassenden (Objeckte, Lichte, Kamersuche, Frame)

ja

list_objects

On Scene objects with list, tasks optional from Type-filter,a

ja

get_object

Full bypass organizations (Position, Rotation, Scaloren, Modifiters, Materialle)

ja

create_object

Primitiv (Object, Kugel, Plane, Zylinder, Kegel, Torus, Emhe, Kamera, Licht)

nein

delete_jekt

Object by Naem löschen.

nein

transform_object

Position/Rotionation/Scalierung setzen.

nein

set_material

Material with Principled BSDS create or assign

nein

set_texture

The Image datei on an material-Input, e.g. albe_color, roughness, normal, etc.

nein

import_asset

GLB/GLTF/FBX/OBJ/STL/PLY/DAE/USD/X3D/ABC importieren

nein

add_modifier

A Modifier (subdivision, mirror, solidify, array, bevel)

nein

remove_modifier

A undifier by name removen.

nein

frame_get / frame_set

La sequence to read / shift a moment

geischt

render_image

Current frame ina a file.

nein

screenshot_viewport

Current Viewpont take-up

nein

execute_python

Beliebigen with bpy nd code (by ast-Validierungvalidierung)

nein

ping

Health self.

ja

See docs/tools_reference.md with the full function. Schema and examples.


# syntax-check the add-on (Blender's Python is at <blender>/python/bin/python.exe)
python -m py_compile addon/blender_mcp_addon/__init__.py
python -m py_compile addon/blender_mcp_addon/server/mcp_server.py
# ...etc

# lint
ruff check addon/
mypy addon/

# test the MCP server in isolation (no bpy required)
pytest addon/tests/ -v

License

Mit. See LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables natural language control of Blender 3D through MCP clients, allowing creation, modification, and manipulation of 3D models, animations, and scenes.
    300
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    Enables AI-powered control of Blender through natural language, allowing users to create, manipulate, and automate 3D scenes, objects, materials, animations, and more via Claude or other MCP clients.
    71
    62
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    This server enables natural language control of Blender 5.2 LTS through any MCP client, allowing scene inspection, object and material manipulation, rendering, and safe Python execution.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables any MCP client to control Blender 5.2 LTS via natural language, including scene creation, object manipulation, material assignment, rendering, and Python execution.
    1
    MIT