blender-2d-mcp
Blender 2D MCP
KI-gesteuertes 2D-Zeichnen und -Animieren für Blender 5.x über das Model Context Protocol. Ermöglicht MCP-Clients (Claude Desktop, Cursor, VS Code Copilot Agent-Modus, …), Grease-Pencil-Zeichnungen, Keyframes, Materialien und Renderings direkt in einer laufenden Blender-Instanz zu erstellen.
Basiert auf Blenders GPv3-API (bpy.ops.grease_pencil.*, GreasePencilDrawing), modelliert nach ahujasid/blender-mcp.
flowchart LR
A[MCP Client<br/>Claude / Cursor / VS Code] <-->|stdio / JSON-RPC| B[blender-2d-mcp<br/>FastMCP server]
B <-->|TCP JSON<br/>localhost:9876| C[addon.py<br/>socket server in Blender]
C -->|main thread| D[Grease Pencil API<br/>GPv3]addon.py— Blender-Add-on, das einen TCP-JSON-Befehlsserver einbettet. Befehle werden in eine Warteschlange gestellt und überbpy.app.timersim Hauptthread von Blender ausgeführt.src/blender_2d_mcp/server.py— FastMCP-stdio-Server, der die Befehle des Add-ons als MCP-Tools bereitstellt.
Voraussetzungen
Nur Blender 5.2 LTS (das Add-on weigert sich, auf älteren Builds aktiviert zu werden; die verwendete GPv3-API-Oberfläche ist 5.2-spezifisch)
Python ≥ 3.10 mit
mcp[cli](wird automatisch installiert)
Related MCP server: Blender MCP Bridge
Installation
1. Add-on in Blender installieren
In Blender: Bearbeiten > Einstellungen > Add-ons > Installieren…
Wähle
addon.pyaus diesem Repository aus.Aktiviere Interface: Blender 2D MCP.
Öffne die Seitenleiste (Ansicht > Seitenleiste, oder drücke N) → Tab Blender2DMCP.
Klicke auf Mit MCP-Client verbinden (Standardport
9876). Lasse Blender laufen.
Tipp:
blender-2d-mcp --install-addonkopiertaddon.pyin deinen Downloads-Ordner und gibt diese Schritte aus.
2. Einen MCP-Client verbinden
Der Server bindet nur an localhost — für die lokale Nutzung ist kein Authentifizierungstoken erforderlich.
Option A — uvx (ohne Installation):
uvx --from "g:\My Projects\blender-2d-mcp" blender-2d-mcpOption B — Editierbare Installation:
cd "g:\My Projects\blender-2d-mcp"
pip install -e .
blender-2d-mcp # runs the stdio MCP serverClaude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"blender-2d-mcp": {
"command": "uvx",
"args": ["--from", "g:\\My Projects\\blender-2d-mcp", "blender-2d-mcp"]
}
}
}Cursor (.cursor/mcp.json) oder generische stdio-Clients:
{
"mcpServers": {
"blender-2d-mcp": {
"command": "C:\\Path\\To\\Python\\Scripts\\blender-2d-mcp.exe",
"args": []
}
}
}VS Code / GitHub Copilot Chat (.vscode/mcp.json — bereits in diesem Repository enthalten):
{
"servers": {
"blender-2d-mcp": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "g:\\My Projects\\blender-2d-mcp", "blender-2d-mcp"],
"env": {}
}
}
}Alternativ, wenn
blender_2d_mcpin einer Umgebung per pip installiert ist, verwende das Python dieser Umgebung:"command": "C:\\Path\\To\\Python\\python.exe", "args": ["-m", "blender_2d_mcp.server"].
Zur Verwendung: Öffne Copilot Chat, stelle das Modus-Dropdown auf Agent, und die
Blender-Tools werden verfügbar (#blender-2d-mcp). Starte/stoppe/starte den
Server über die Befehlspalette mit MCP: Server auflisten. Lade das VS-Code-Fenster
nach dem Bearbeiten von mcp.json neu.
Die 2D-Leinwand
Mit setup_2d_scene wird der Viewport auf eine orthografische Frontansicht gesetzt, sodass die Zeichenebene die Welt-XZ-Ebene ist:
2D-Punkt, den du sendest | Weltposition | Bedeutung |
|
| x = Bildschirm rechts, y = Bildschirm oben |
|
| wird unverändert verwendet |
Einheiten sind Meter (Blender-Standard); ein 1920×1080-HD-Frame bei Standard-Kamerazoom erstreckt sich horizontal über ungefähr ±5 Einheiten.
Tool-Katalog
Tool | Zweck |
| GP-Objekte, Ebenen, Keyframes, Strichanzahl auflisten |
| Allgemeine Szenen-/Objekt-Inspektion |
| Add-on-/Protokoll-/Blender-Version + Kompatibilitätsstatus |
| Weißer Hintergrund, orthografische Frontansicht, HD-Auflösung |
| Neues GP-Objekt mit einer Ebene + schwarzem Strichmaterial |
| Ebenenverwaltung |
| Bearbeitung des Ebenenstapels |
| Deckkraft, Mischmodus, ausblenden, sperren |
| GPv3-Ebenenmaskierung (Cut-out-Effekte) |
| Idempotente Erstellung leerer Keyframes |
| Keyframe-Bearbeitung ( |
| Freihandstrich; Punkt-für-Punkt-Radius-/Deckkraftprofile für Verjüngung |
| Mehrere Striche in einem Aufruf stapelweise zeichnen |
|
|
| Strich-Inspektion & -Bearbeitung (verschieben/skalieren/drehen/glätten) |
| Strich- und Füllfarben |
| Zwischenbilder zwischen zwei Keyframes erzeugen (Easing-Steuerung) |
| Keyframe-Objektposition/-rotation/-skalierung |
| Geisterbilder vorheriger/nächster Frames |
| GP-Modifikatoren: Noise-Wackeln, Glätten, Dicke, Zeitversatz … |
| Abspielkopf, fps, Frame-Bereich, Render-Engine, Filmtransparenz |
| Orthografische Frontkamera, die an die Leinwand angepasst ist |
| Hintergrundbild-Empty zum Nachzeichnen |
| Nicht blockierende Renderings inkl. MP4-Videoausgabe |
| KI-gesteuerte Bearbeitungen rückgängig machen |
| Viewport-Erfassung, die als Bild zurückgegeben wird |
| Notausstieg: jeder |
| Beliebiges |
Typischer Arbeitsablauf
get_gp_scene_info+get_viewport_screenshot— sehen, was vorhanden ist.setup_2d_scene→create_gp_object, wenn man neu beginnt.Zeichne mit
gp_draw_shape/gp_draw_stroke; übergebeframe_number, um Striche auf Schlüsselposen zu platzieren (Frames werden automatisch erstellt). Verwendegp_draw_strokes, um detaillierte Zeichnungen in einem Stapel zu zeichnen.Gefüllte Formen: Erstelle ein Material mit
fill_alpha > 0, dannfill=True+fill_material.Animiere 'on twos' (Schlüsselposen alle 2 Frames bei 24 fps): Kopiere Posen mit
gp_copy_frame, bearbeite sie mitgp_transform_stroke, danngp_interpolatefür Zwischenbilder. Füge einen NOISE-Modifikator für handgezeichneten Wackel hinzu.Rendere mit
render_animation(use_video=True)und frageget_render_statusab.Mache nach Änderungen immer einen Screenshot, um visuell zu überprüfen. Fehler können über
undorückgängig gemacht werden.
Entwicklung
pip install -e ".[dev]"
python -m pytest tests/ -vDie Testsuite führt den TCP-Transport des Add-ons außerhalb von Blender aus, indem sie die Serverklasse per AST-Lifting gegen ein Fake-bpy testet – keine Blender-Installation erforderlich. Handler-Logik, die echte Grease-Pencil-Daten berührt, muss innerhalb von Blender verifiziert werden.
Fehlerbehebung
Symptom | Lösung |
MCP-Client kann keine Verbindung herstellen | Starten Sie den Server zuerst im Seitenleisten-Panel von Blender; prüfen Sie, ob der Port übereinstimmt (Standard 9876) |
Port bereits belegt | Ändern Sie den Port im Seitenleisten-Panel und fügen Sie |
Firewall-Abfrage beim Start | Erlauben Sie Blender in privaten Netzwerken (der Server bindet nur an localhost) |
Screenshot ist schwarz | Klicken Sie einmal in das Blender-Fenster (Compositor-Problem) oder stellen Sie sicher, dass ein 3D-Viewport sichtbar ist; das Tool fällt automatisch von der Offscreen-GPU-Erfassung auf das Fenster-Grab zurück |
| Es benötigt einen sichtbaren 3D-Viewport in Blender und Keyframes an beiden Grenz-Frames; öffnen Sie einen |
Modale Operatoren (Stift, Pinselstriche) funktionieren nicht | Über MCP nicht unterstützt — verwenden Sie stattdessen |
| Nicht mehr verwendet — starten Sie den MCP-Server neu und stellen Sie sicher, dass sowohl das Addon als auch |
Render-Vorgänge scheinen zu hängen | Sie sind jetzt nicht-blockierend — fragen Sie |
Addon lässt sich nicht aktivieren | Dieses Projekt erfordert genau Blender 5.2 LTS (nur GPv3-API); ältere Builds werden bewusst abgelehnt |
Lizenz
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate AI images and videos from any compatible MCP client.
Generate images, video, audio and short films with 140+ AI models from any MCP client.
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceTransforms Blender into an MCP server with 50+ tools for AI-driven 3D workflows, enabling complete control over objects, materials, animations, physics simulations, and rendering through natural language commands.45MIT
- AlicenseAqualityDmaintenanceEnables remote control of Blender via the Model Context Protocol, allowing users to execute Python scripts, query scene data, and generate 3D models from images. It provides a bridge for AI clients to interact directly with Blender's internal environment and automate 3D content creation.36MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI clients to control Blender's 3D workflow via an embedded MCP server.645 PyPI47MIT
- AlicenseNot gradedqualityCmaintenanceEnables natural language control of Blender 3D through MCP clients, allowing creation, modification, and manipulation of 3D models, animations, and scenes.300MIT