diff --git a/.gitmodules b/.gitmodules index 63b77538..a5abdd39 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "mcp/godot-mcp"] path = mcp/godot-mcp url = https://github.com/tugcantopaloglu/godot-mcp.git +[submodule "mcp/blender-mcp"] + path = mcp/blender-mcp + url = https://github.com/ahujasid/blender-mcp.git diff --git a/.mcp.json b/.mcp.json index b13c2114..0e67689d 100644 --- a/.mcp.json +++ b/.mcp.json @@ -6,6 +6,10 @@ "env": { "GODOT_PATH": "" } + }, + "blender": { + "command": "uv", + "args": ["run", "--project", "mcp/blender-mcp", "blender-mcp"] } } } diff --git a/CLAUDE.md b/CLAUDE.md index 3890e4cb..8c3c196c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -25,6 +25,20 @@ npm run build `GODOT_PATH` (env var in `.mcp.json`) is left blank to auto-detect the Godot executable; set it explicitly if auto-detection fails on your machine. +## Blender MCP server + +This repo vendors [blender-mcp](https://github.com/ahujasid/blender-mcp) as a git submodule at `mcp/blender-mcp` and registers it in `.mcp.json`. **Prefer the blender-mcp tools over manual scripting** when the task involves creating or editing 3D models, materials, or scenes in Blender (e.g. ship/arena assets) — it drives a live Blender instance directly rather than hand-writing `.blend`/Python scene-manipulation code. + +Setup after cloning (same submodule caveat as godot-mcp above): + +```bash +git submodule add https://github.com/ahujasid/blender-mcp.git mcp/blender-mcp +cd mcp/blender-mcp +uv sync +``` + +One-time manual step (GUI, can't be scripted): install the Blender addon — Blender → Edit → Preferences → Add-ons → Install → select `mcp/blender-mcp/addon.py` → enable "Interface: Blender MCP". Blender must be running with the addon's socket server started (default `localhost:9876`) for the MCP tools to connect; override with the `BLENDER_HOST` / `BLENDER_PORT` env vars in `.mcp.json` if needed. + ## Commands There is no build step, linter, or automated test suite for the GDScript project itself — Godot projects run directly from source. diff --git a/mcp/blender-mcp b/mcp/blender-mcp new file mode 160000 index 00000000..3ab89251 --- /dev/null +++ b/mcp/blender-mcp @@ -0,0 +1 @@ +Subproject commit 3ab892510cc0e5435ba5e611c01fb1021fbde8de diff --git a/mcp/godot-mcp b/mcp/godot-mcp new file mode 160000 index 00000000..fcbc29e0 --- /dev/null +++ b/mcp/godot-mcp @@ -0,0 +1 @@ +Subproject commit fcbc29e03297900b9a1fcc6c7cbae116fe9d532a