Skip to main content
Glama

blender-mcp-bridge

Blender 公式 MCP アドオン(TCP port 9876)と Claude Desktop / Claude Code(stdio MCP)をつなぐブリッジ。


概要

開発動機

2026年6月現在、Blender 公式 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 アドオン

Related MCP server: blender-mcp

動作環境

前提条件

対応プラットフォーム

macOS / Windows


クイックスタート

Claude Code から GitHub で直接インストール(推奨)

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 は不要。

セットアップスクリプトで登録する場合

# clone してから実行
git clone https://github.com/otinori/blender-mcp-bridge
cd blender-mcp-bridge
python3 scripts/setup.py  # MCP ライブラリのインストールと設定ファイルへの登録を一括実行

クライアントごとに個別設定する場合:

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 を参照。

プログラム開発の実験として、OpenSpecを試験導入しています。 そのため、.claude/skills/openspec-* および .claude/commands/opsx/* は OpenSpecのライセンスに基づきます。

Available Tools

8 tools
blender/create_objectC

メッシュ・ライト・カメラ等を作成する

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesオブジェクトタイプ(CUBE / SPHERE / CYLINDER / CONE / PLANE / TORUS / MONKEY / LIGHT / CAMERA / EMPTY)
nameNoオブジェクト名(任意)
locationNo位置 [x, y, z](任意、デフォルト [0, 0, 0])

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose side effects and behavior. Only states 'creates' without mentioning defaults like name or location, nor effects on existing objects or scene state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, concise and front-loaded with the action. Could be improved by including key behavioral details without adding verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks return value description and context about Blender scene operation. With no output schema and low complexity, the description should at least mention that the created object is added to the active scene.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage, so parameters are documented. The description adds no extra semantic meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool creates meshes, lights, cameras, etc., differentiating it from sibling tools like delete or list. However, it could be more explicit about the full range of object types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives or prerequisites. Missing context on when not to use, e.g., if object type is not supported.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender/delete_objectB

指定オブジェクトを削除する

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesオブジェクト名

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description says 'delete' but fails to disclose consequences (e.g., is it reversible?), behavior on missing objects, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short phrase, which is concise but under-specified. It front-loads the purpose but lacks additional context that would earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description fails to explain return values, error handling, or steps after deletion. It is incomplete for an agent to use confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'name' with description 'オブジェクト名'. Tool description adds no extra meaning beyond this, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '指定オブジェクトを削除する' clearly states the action (delete) and resource (specified object), distinguishing it from sibling tools like create or list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, or any prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender/execute_pythonB

任意の Python コードを Blender 内で実行する(上級者向け)

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes実行する Python コード(result 変数に dict を格納して返す)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description wholly bears the burden of behavioral disclosure. It fails to warn about potential side effects, resource consumption, security risks, or error handling of arbitrary code execution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with parenthetical clarification. Every element is meaningful and the description is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a powerful arbitrary code execution tool, the description omits critical context such as security implications, required permissions, side effects on the Blender scene, and the expected format of the result. The presence of sibling tools for specific operations underscores the need for clearer boundaries.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter description already explains the 'result' variable. The tool description does not add additional semantic value beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes arbitrary Python code in Blender, and the parenthetical '(for advanced users)' distinguishes it from the specific operations of sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus the specific sibling tools (e.g., for unsupported operations). The mention 'for advanced users' implies caution but is insufficient as explicit usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender/get_objectB

指定オブジェクトの詳細(位置・回転・スケール・マテリアル)を返す

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesオブジェクト名

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It does not explicitly state whether the tool is read-only or has side effects, though the verb '返す' implies a read operation. A clear statement of non-destructive behavior is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is front-loaded with the resource and details. It wastes no words, though it could be slightly more structured with explicit mention of input/output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description adequately covers the return details (position, rotation, scale, material). It lacks mention of error conditions or edge cases, but is sufficient for basic use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter 'name', so the baseline is 3. The description does not add additional semantics beyond the schema, such as example values or constraints, but does not need to due to full coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns object details (position, rotation, scale, material) with a specific verb '返す' (returns). It distinguishes from sibling tools like create, delete, or transform by focusing on reading object data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list_objects or get_scene_info. The description only states what it does, leaving the agent without context on selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender/get_scene_infoA

アクティブシーンの名前・オブジェクト数・フレーム情報を返す

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description bears full burden. It accurately describes the read-only nature and returned data (name, object count, frame info). No side effects are mentioned, but none are expected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single Japanese sentence efficiently conveys the tool's purpose and output. Every word is necessary and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (no parameters, no output schema, no annotations), the description is complete enough for an agent to understand what the tool does and what it returns. It covers the essential aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is 100% (empty object). The description adds no parameter details because none exist. Baseline for 0 parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the active scene's name, object count, and frame info. It uses a specific verb ('returns') and resource ('active scene's info'), distinguishing it from sibling tools that manipulate objects or execute Python.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving scene metadata, but does not explicitly state when to use it over alternatives or provide exclusions. However, the purpose is clear enough from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender/list_objectsB

シーン内オブジェクト一覧(名前・type・位置)を返す

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoフィルタするオブジェクトタイプ(MESH / LIGHT / CAMERA 等)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only states return values and filter parameter. It does not disclose read-only behavior, permission requirements, or performance characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that communicates the core functionality without waste. However, it is only in Japanese, which may limit universality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with no output schema and no annotations, the description is insufficient. It does not mention pagination, sorting, or the exact response structure beyond three fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter description is clear. The tool description adds minimal extra value by repeating the filter concept in Japanese, but does not explain format or defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of objects with name, type, and position. It uses a specific verb (list) and resource (objects), and is distinguishable from siblings like get_object or create_object.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool over alternatives like blender/get_scene_info or how to filter effectively. With several sibling tools, explicit guidance is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender/set_materialB

オブジェクトに Principled BSDF マテリアルを設定する

ParametersJSON Schema
NameRequiredDescriptionDefault
objectYesオブジェクト名
colorYesカラー [r, g, b, a](各 0.0〜1.0)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description does not disclose behavioral traits like whether it creates or modifies materials, idempotency, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no extraneous information, perfectly concise and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Minimal description missing important context such as behavior when object already has a material, range validation for color, or return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has full coverage for both parameters with descriptions. The description adds no extra meaning beyond the schema, earning baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool sets a Principled BSDF material to an object, using a specific verb and resource. It effectively distinguishes from sibling tools like create/delete/transform objects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as prerequisites (e.g., object must exist) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender/transform_objectA

オブジェクトの位置・回転・スケールを変更する(指定したプロパティのみ更新)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesオブジェクト名
locationNo位置 [x, y, z]
rotationNo回転 [x, y, z](ラジアン)
scaleNoスケール [x, y, z]

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the burden. It mentions 'update only specified properties' (partial update), which is useful. However, it does not disclose side effects, prerequisites (object must exist), or error behavior, leaving gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence front-loading the action. While efficient, a slightly more structured format (e.g., listing properties) could improve readability for a tool with four parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, yet the description omits any mention of return value or success indication. The agent lacks information on what the tool returns (e.g., confirmation, updated object). Error handling (e.g., missing object) is also unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions. The description adds value by emphasizing partial update behavior ('specified properties only'), which is not explicit in the schema, helping the agent understand that omitted properties remain unchanged.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (change position, rotation, scale) and the specific resource (object). It distinguishes from sibling tools like create, delete, list, and get by focusing on transformation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for modifying existing object transforms but provides no explicit when-to-use or when-not-to-use guidance. Sibling tools are not compared, so the agent gets no clear differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
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

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    Connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender for AI-assisted 3D modeling, scene manipulation, and rendering.
    21
    26,667
    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
    41
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Connects Blender to Claude AI through MCP, allowing Claude to directly interact with and control Blender for 3D modeling, scene creation, and manipulation.
    22
    MIT

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/otinori/blender-mcp-bridge'

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