blender-mcp-bridge
by otinori
README.md
# blender-mcp-bridge
Blender 公式 MCP アドオン(TCP port 9876)と Claude Desktop / Claude Code(stdio MCP)をつなぐブリッジ。
---
## 概要
### 開発動機
2026年6月現在、[Blender 公式 MCP アドオン](https://lab.blender.org/mcp) は独自の TCP プロトコル(`{"type": "execute", "code": "..."}`)を使っており、標準 MCP(JSON-RPC 2.0)を実装していないようだ。Claude Desktop は標準 MCP でしか動かないため、このブリッジを作成した。
### ゴール
標準 MCP クライアント(Claude Desktop / Claude Code / Gemini CLI 等)から Blender を直接操作できるようにする。
### 何ができるのか
Claude Code などの AI エージェントからの指示で、Blender のシーン操作(オブジェクト作成・変形・マテリアル設定)ができる様になる。
```
Claude Desktop / Claude Code
│ stdio (MCP JSON-RPC 2.0) ← Claude が話せる形式
▼
blender-mcp-bridge ← このアプリ(変換・転送)
│ TCP socket (port 9876) ← Blender アドオンが受け付ける形式
▼
Blender アドオン
```
---
## 動作環境
### 前提条件
- Python 3.10 以上
- [Blender 公式 MCP アドオン](https://lab.blender.org/mcp)(Blender 側でインストール・有効化が必要)
### 対応プラットフォーム
macOS / Windows
---
## クイックスタート
### Claude Code から GitHub で直接インストール(推奨)
```bash
claude mcp add blender-mcp-bridge \
--env BLENDER_HOST=localhost \
--env BLENDER_PORT=9876 \
-- uvx --from git+https://github.com/otinori/blender-mcp-bridge blender-mcp-bridge
```
`uvx` がリポジトリを直接取得して実行するため、clone や pip install は不要。
### セットアップスクリプトで登録する場合
```bash
# clone してから実行
git clone https://github.com/otinori/blender-mcp-bridge
cd blender-mcp-bridge
python3 scripts/setup.py # MCP ライブラリのインストールと設定ファイルへの登録を一括実行
```
クライアントごとに個別設定する場合:
```bash
python3 scripts/setup_claude_desktop.py # Claude Desktop
python3 scripts/setup_claude_code.py # Claude Code (CLI)
python3 scripts/setup_gemini.py # Gemini CLI
python3 scripts/setup_vscode.py # VS Code(Continue / Copilot 等 MCP 対応拡張すべて)
python3 scripts/setup_codex.py # OpenAI Codex CLI
```
※ 手元に環境がないため、、vscode版、codex版は動作確認できていません
---
## 主な使い方
1. **Blender MCP アドオン**を Blender にインストール・有効化する
2. **Blender を起動する**(アドオンが port 9876 でリッスン開始)
3. **Claude Desktop または Claude Code を再起動する**
4. Claude から「Blender のシーン情報を教えて」などと話しかける
接続先(ホスト/ポート)の変更は `BLENDER_HOST` / `BLENDER_PORT` 環境変数で行う。デフォルトは `localhost:9876`。
### ツール一覧
| ツール名 | 説明 |
|---|---|
| `blender_get_scene_info` | アクティブシーンの名前・オブジェクト数・フレーム情報を返す |
| `blender_list_objects` | シーン内オブジェクト一覧(`type` でフィルタ可) |
| `blender_get_object` | 指定オブジェクトの位置・回転・スケール・マテリアルを返す |
| `blender_create_object` | メッシュ・ライト・カメラ等を作成する |
| `blender_delete_object` | 指定オブジェクトを削除する |
| `blender_transform_object` | 位置・回転・スケールを変更する(部分更新可) |
| `blender_set_material` | Principled BSDF マテリアルをオブジェクトに設定する |
| `blender_execute_python` | 任意の Python コードを Blender 内で実行する |
---
## 構成
```
blender-mcp-bridge/
├── bridge.py # MCP サーバ本体(変換・TCP 転送)
├── scripts/
│ ├── setup.py # 全クライアント一括セットアップ(対話メニュー)
│ ├── setup_claude_desktop.py # Claude Desktop
│ ├── setup_claude_code.py # Claude Code (CLI)
│ ├── setup_gemini.py # Gemini CLI
│ ├── setup_vscode.py # VS Code(MCP 対応拡張すべて)
│ └── setup_codex.py # OpenAI Codex CLI
└── pyproject.toml
```
※ 手元に環境がないため、setup_vscode.pyとsetup_codex.pyの動作確認できていません
---
## ライセンス
Apache License 2.0 — [LICENSE](LICENSE) を参照。
プログラム開発の実験として、OpenSpecを試験導入しています。
そのため、`.claude/skills/openspec-*` および `.claude/commands/opsx/*` は OpenSpecのライセンスに基づきます。
TDQS
A3.7/5.0
Scored across 8 tools
Disambiguation5/5
Each tool targets a distinct operation (create, delete, get, list, transform, material, scene info, Python execution) with no overlap. An agent can easily distinguish them.
Naming Consistency5/5
All tools follow a consistent verb_object pattern in snake_case (e.g., create_object, get_scene_info). The naming is predictable and uniform.
Tool Count5/5
Eight tools cover essential 3D scene operations without being excessive. The scope is well-focused for basic Blender control via MCP.
Completeness4/5
Core CRUD (create, read, delete) and common operations (transform, material, scene info) are covered. Missing update for non-transform properties (e.g., rename) or advanced features, but acceptable for a bridge.
Maintenance
ActivityStale
ResponsivenessNo issues