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.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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.
    299
    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
    33
    MIT

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • Generate, edit, and deploy immersive 3D/WebGL web projects from any MCP assistant.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tattooinmtl/MCP_Server_blender'

If you have feedback or need assistance with the MCP directory API, please join our Discord server