Blender MCP は、Claude Code や Codex などの AI エージェントから Blender を操作するための MCP サーバーです。エージェントが Blender の Python(bpy)を書いて送り、Blender の中で実行して、結果や画面を受け取ります。Claude Code なら claude mcp add、Codex なら ~/ .codex/ config.toml に数行足せば使えます。この記事では、仕組みの図、代表的な 2 つの実装の違い、両エージェントへの登録手順、uvx のパス問題などのつまずき、任意の Python が動くことのリスクと守り方を、2026 年 10 月時点の公式 README とドキュメントに沿ってまとめます。
Blender MCP は「AI エージェント → MCP サーバー → Blender アドオン → Blender」の順に命令を渡す中継の仕組みです。MCP(Model Context Protocol)は、AI アプリに外部のツールをつなぐための共通の規格です。MCP そのものの基本は「Cloudflare MCP サーバーを Claude Code につなぐ 」でも説明しています。
AI エージェントが MCP サーバーを stdio で起動し、MCP サーバーが TCP ソケットで Blender アドオンに命令を送り、アドオンが Blender の中で Python を実行する流れ 図: 筆者作成(MCP for Blender と Blender Lab MCP の README をもとに作図)
部品は 2 つに分かれています1 2 。
部品 どこで動くか 役割 MCP サーバー エージェントが別プロセスとして起動(stdio で通信) エージェントにツール(execute_blender_code など)を見せ、呼ばれたら Blender に転送する Blender アドオン Blender の中 localhost:9876 で TCP ソケットを開き、届いた Python を Blender の中で実行して結果を返す
ポイントは、Blender 自身はエージェントとつながる機能を持っていない ことです。Blender 公式の Blender Lab も「Blender には LLM につなぐ機能が組み込まれていないため、アドオン・LLM クライアント・MCP サーバーの 3 つが必要」と説明しています3 。
代表的な実装である MCP for Blender(旧名 blender-mcp)は、2026 年 10 月時点で次のツールを公開しています1 。
ツール できること execute_blender_code起動中の Blender で Python を実行する lookビューポート・カメラ・複数角度・ワイヤーフレームなどの画像で結果を見る get_scene_infoシーンのオブジェクトを 1 行ずつ要約して返す generate_3dTripo・Hunyuan3D・Hyper3D Rodin で 3D モデルを生成して読み込む search_assets / import_assetPoly Haven・Sketchfab・Poly Pizza のアセットを探して読み込む get_addon_statusBlender とアドオンのバージョン、有効な連携を返す
モデリング・配置・マテリアル・アニメーションは、エージェントが bpy のコードを書いて execute_blender_code で実行します。look で画像を見て自分の作業を確かめられるのが、ただのコード生成との違いです1 。
「Blender MCP」と呼ばれるものは、2026 年 10 月時点で主に 2 つあります。どちらも MCP サーバーとアドオンの 2 部構成で、アドオンの既定ポートも同じ 9876 です1 2 。
MCP for Blender(旧 blender-mcp) Blender Lab MCP 開発 コミュニティ(Siddharth Ahuja 氏)。Blender 公式ではない Blender Lab(Blender の公式プロジェクト) リポジトリ ahujasid/ mcp-for-blender(GitHub)lab/ blender_mcp(projects.blender.org)ライセンス MIT GPL-3.0-or-later 対応 Blender 3.0 以上 5.1 以上 導入 uvx mcp-for-blender(PyPI)リポジトリを clone して uv run、または .mcpb バンドル 得意なこと シーン作成、アセット取得、AI での 3D 生成 シーンの分析・デバッグ、API ドキュメントとマニュアルの検索 安全策 任意で safe mode(実行前にコードを検査) 簡易的な制限のみ。「VM か機密のない環境で使う」と案内
MCP for Blender は 2025 年 3 月に公開され、GitHub のスターは 30,710(2026-10-14 時点)です1 。2026 年 9 月 16 日に PyPI のパッケージ名が blender-mcp から mcp-for-blender に変わりました。旧名の uvx blender-mcp も互換ラッパーとして動き続けますが、新しく入れるなら mcp-for-blender を使います4 。最新版は 2026 年 10 月 6 日の 2.1.9 で、Python 3.10 以上が必要です5 。
Blender Lab MCP は 2026 年 4 月 27 日に v1.0.0、9 月 11 日に v1.0.3 が出ています2 。ツールは get_objects_summary・get_blendfile_summary_missing_files・search_api_docs など、ファイルの中身を調べる・説明する 方向に寄っています2 。作品づくりを任せたいなら MCP for Blender、既存の .blend を調べたり Python API を引いたりするなら Blender Lab MCP、と使い分けるのが分かりやすいです。
答えは「MCP の使い道として、3D・画像生成ツールの操作が急に探され始めた」からです。Google トレンド(日本・過去 90 日)で「MCP」と一緒に急に検索が増えた語を見ると、上位に 3D・画像生成系のツールが並びます6 。
「MCP」の急上昇関連キーワード(日本・過去 90 日、増加率) データを表で見る 「MCP」の急上昇関連キーワード(日本・過去 90 日、増加率) キーワード 増加率(%) comfy mcp 250 blender mcp codex 180 ue5 mcp 170 blender 150
出典: Google トレンド「MCP」の関連キーワード(急上昇)。日本・過去 90 日、2026-10-14 取得。「急激増加」と表示された語は数値がないため除外
「MCP」という語そのものの検索は、この 90 日でやや減っています(直近 4 週の平均はその前の 8 週の 0.85 倍)6 。それでも関連語には「blender mcp codex」が 180% 増で入っています。MCP の話題が「MCP とは何か」から「どのツールにつないで何をさせるか」に移っていると読めます。
「MCP」の検索の推移(日本・週次、GitHub Copilot との相対値) データを表で見る 「MCP」の検索の推移(日本・週次、GitHub Copilot との相対値) 週 MCP GitHub Copilot 07/15 34 11 07/22 27 10 07/29 27 11 08/05 23 8 08/12 23 7 08/19 22 10 08/26 23 11 09/02 27 10 09/09 25 8 09/16 20 4 09/23 19 7 09/30 23 8 10/07 20 7
出典: Google トレンド(日本・過去 90 日・週次の相対値。最大値を 100 とした指数)。2026-10-14 取得
「Blender MCP」という語単体の検索量はまだ小さいものの、直近 4 週の平均は前の 8 週の 1.27 倍に増えています6 。Codex と組み合わせて検索されている点から、Claude Desktop だけでなくコーディングエージェントから Blender を動かしたい人 が増えていると考えられます。
Claude Code では、uv を入れて claude mcp add で登録し、Blender にアドオンを入れれば使えます。ここでは MCP for Blender(2.1.9)を例にします1 。
前提は次のとおりです(2026 年 10 月時点)。
Blender 3.0 以上(Blender Lab MCP を使う場合は 5.1 以上)
Python 3.10 以上
uv(Python のパッケージ管理ツール。uvx コマンドが付いてくる)
公式 README には、uv の導入から各クライアントの設定までを 1 回で行う uvx mcp-for-blender setup もあります。既存の設定には blender の項目を足すだけで、変更したファイルは .bak に残すと書かれています1 。ここでは中身が分かるように手で設定します。
brew install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
README は pip install uv を使わないよう注意しています。uvx コマンドが作られなかったり、クライアントから見えない場所に入ったりするためです1 。uvx は、ツールを一時的な独立した環境に入れて実行するコマンドです7 。
claude mcp add --scope user blender -- uvx mcp-for-blender
-- より後ろが、MCP サーバーを起動するコマンドです。Claude Code 側のオプション(--scope や --env)は -- より前に書きます8
--scope は保存先です。local(既定。今のプロジェクトだけ)、project(.mcp.json に書いてチームで共有)、user(自分の全プロジェクト)から選びます8
Blender はプロジェクトをまたいで使うことが多いので、ここでは user にしています
後述の safe mode を最初から有効にするなら、環境変数を付けて登録します。--env の直後にサーバー名を書くと誤読されるので、間に別のオプションを挟みます8 。
claude mcp add --env BLENDER_MCP_SAFE_MODE=1 --scope user blender -- uvx mcp-for-blender
uvx mcp-for-blender install-addon
このコマンドは、アドオンを Blender の addons フォルダに blender_mcp.py としてコピーします1 。続けて Blender で次の操作をします。
Blender を開き、Edit → Preferences → Add-ons で Interface: MCP for Blender を有効にする
3D ビューポートで N キーを押してサイドバーを開き、MCP for Blender タブを開く
サーバーが動いていなければ Start MCP Server を押す
アドオンは Blender の起動時にサーバーを立ち上げます1 。
claude mcp list
claude mcp list は各サーバーの状態を ✔ Connected や ✘ Failed to connect で表示します。Claude Code の中では / mcp で状態を確かめられます8 。
claude mcp add で Blender MCP を登録し、claude mcp list で接続を確かめ、Blender にシーンの作成を頼むまでのターミナル操作 画面はイメージ。コマンドは公式ドキュメントと README に沿って再現(2026 年 10 月時点)
つながったら、Claude Code にそのまま頼みます。
Blender のシーンを確認して、床の上に低ポリの机と椅子を 2 脚置いて。
置いたら look で斜め上から確認して、ぶつかっている物があれば直して。
Codex では codex mcp add で登録するか、~/ .codex/ config.toml に直接書きます。Codex の CLI・デスクトップアプリ・IDE 拡張は同じ設定ファイルを読むので、1 回の設定で 3 つとも使えます1 。
codex mcp add blender -- uvx mcp-for-blender
codex mcp list
codex mcp list で blender が enabled と出れば登録できています。ツールは次に Codex を起動したときから使えます1 。環境変数は --env KEY=VALUE で渡せます9 。
codex mcp add blender --env BLENDER_MCP_SAFE_MODE=1 -- uvx mcp-for-blender
[mcp_servers.blender]
command = "uvx"
args = ["mcp-for-blender" ]
env = { BLENDER_MCP_SAFE_MODE = "1" }
startup_timeout_sec = 30
tool_timeout_sec = 180
キー 意味 command / argsサーバーを起動するコマンドと引数 envサーバーに渡す環境変数 startup_timeout_sec起動を待つ秒数(既定 10 秒) tool_timeout_sec1 回のツール実行を待つ秒数(既定 60 秒) enabled_tools / disabled_tools使うツールの許可リスト・拒否リスト
既定値は Codex の公式ドキュメントによります9 。MCP for Blender は Blender との通信で最大 180 秒応答を待つ作りなので(2026 年 10 月時点のソースコード)1 、重いレンダリングを頼むなら tool_timeout_sec を既定の 60 秒より長くしておくと途中で切れにくくなります。上の 30 秒・180 秒は筆者の設定例です。
プロジェクト単位で設定したい場合は、リポジトリの .codex/ config.toml にも書けます。ただし読み込まれるのは信頼済み(trusted)のプロジェクトだけです9 。
MCP for Blender には Codex 用のプラグインもあります。チャットの横にビューポートを表示し、オブジェクトをクリックして次のメッセージに添付したり、@ でオブジェクトやマテリアルを指定したりできます。2026 年 10 月時点では Codex のプラグイン一覧に載っていないため、リポジトリから追加します1 。
git clone https://github.com/ahujasid/blender-mcp.git
codex plugin marketplace add ./blender-mcp/integrations/codex
追加後に Codex を再起動し、プラグイン一覧から MCP for Blender を入れます1 。
Claude Code Codex 登録コマンド claude mcp add --scope user blender -- uvx mcp-for-blendercodex mcp add blender -- uvx mcp-for-blender保存先 ~/ .claude.json(local / user)、.mcp.json(project)~/ .codex/ config.toml、.codex/ config.toml(trusted のみ)状態の確認 claude mcp list、/ mcpcodex mcp list、/ mcpツールの制限 権限ルール(mcp__blender__… の allow / ask / deny) enabled_tools / disabled_tools、承認モード
出典は Claude Code と Codex の公式ドキュメントです8 10 9 。2 つのエージェントの全体的な違いは「Codex CLI と Claude Code の比較(2026 年 10 月版) 」にまとめています。
Blender MCP がいちばん役に立つのは、「作る → 見る → 直す」をエージェントに繰り返させる場面です。ここでは、README の例と公開されているツールの範囲で、開発の中での使い方を 4 つ挙げます。
README には「ドラゴンが金の壺を守る低ポリのダンジョンを作って」「スタジオのような照明にして」「カメラをシーンに向けてアイソメトリックにして」といった依頼の例が載っています1 。エージェントは bpy でオブジェクトを置き、look で画像を見て、ずれや重なりを直します。
1 回で全部を頼むより、「床と壁」「家具」「照明」「カメラ」と段階を分けるのがコツです。README のトラブル対応にも、タイムアウトしたら依頼を小さく分けるよう書かれています1 。
Web やゲームに 3D を載せる前の確認にも使えます。エージェントに「ポリゴン数の多い順に 5 つ出して」と頼むと、次のようなコードを execute_blender_code で送ります。表示したもの(print の出力)がそのままエージェントに返ります1 。
import bpy
rows = []
for obj in bpy.context.scene.objects:
if obj.type == 'MESH' :
rows.append((len (obj.data.polygons), obj.name))
for count, name in sorted (rows, reverse=True )[:5 ]:
print (name, count)
このコードは bpy だけを読み込み、ファイルも通信も使わないので、後述の safe mode でも通る種類の処理です11 。Blender Lab MCP も「ポリゴン数の外れ値を探す」「どのオブジェクトがこのマテリアルを使っているか調べる」を使い道の例に挙げています3 。
README には「今のシーンの情報を取って、three.js のスケッチにして」という例もあります1 。Claude Code や Codex はリポジトリのコードも書けるので、Blender の配置を読み取り、Web 側のコードに落とし込むところまでを 1 つの会話で進められます。3D のプロトタイプを作るフロントエンド開発で効く使い方です。
チームで受け渡した .blend で「テクスチャが表示されない」ときは、Blender Lab MCP の get_blendfile_summary_missing_files(見つからない外部ファイルの一覧)や get_blendfile_summary_of_linked_libraries(リンクしているライブラリの一覧)が使えます2 。search_api_docs で同梱の Python API リファレンスを検索できるため、エージェントが古い API を推測で書く失敗も減らせます。
Blender Lab MCP は Claude Code 用のコマンドを案内していません。公式の設定例(uv --directory <clone先>/ mcp run blender-mcp)を Claude Code に当てはめると、次のようになります2 。
cd $HOME && git clone https://projects.blender.org/lab/blender_mcp.git
claude mcp add --scope user blender-lab -- uv --directory $HOME /blender_mcp/mcp run blender-mcp
2 つの実装はアドオンの既定ポートがどちらも 9876 なので、同時に使うならどちらかのポートを変えます1 2 。
よく起きるのは、uvx が見つからない、Python のバージョンが合わない、Blender とつながらない、の 3 つです。どれも README に対処が書かれています1 。
Claude Desktop や Codex のデスクトップアプリなど、Dock やスタートメニューから起動したアプリは、ターミナルの PATH を引き継ぎません。そのため、ターミナルでは動く uvx が見つからず spawn uvx ENOENT で失敗します1 。
which uvx
出てきたフルパスを command に書きます。
[mcp_servers.blender]
command = "/opt/homebrew/bin/uvx"
args = ["mcp-for-blender" ]
設定を変えたら、アプリを完全に終了してから起動し直します(macOS は Cmd+Q、Windows はタスクトレイから終了)1 。
conda の base 環境や pyenv があると、uv が想定外の Python を選んでインストールに失敗することがあります。README は Python 3.11 を指定し、uv が管理する Python だけを使う設定を勧めています1 。
claude mcp add --env UV_PYTHON_PREFERENCE=only-managed --scope user blender -- uvx --python 3.11 mcp-for-blender
失敗した状態が残る場合は、キャッシュを消してから取り直します1 。
uv cache clean mcp-for-blender blender-mcp && uvx --refresh mcp-for-blender
Blender 側のサーバーが止まっている : サイドバーの MCP for Blender タブで Start MCP Server を押す
ターミナルで uvx を手で起動している : README は「ターミナルで uvx コマンドを実行しない」としています。サーバーはエージェントが起動します1
サーバーを 2 つ起動している : Claude Desktop と Cursor など、複数のクライアントで同時に起動しないよう README は注意しています1
最初の 1 回だけ失敗する : README には「最初のコマンドが通らないことがあるが、その後は動く」とあります1
Codex で起動が間に合わない : startup_timeout_sec を延ばします(既定 10 秒)9
Claude Code は MCP ツールの出力が 10,000 トークンを超えると警告し、既定で 25,000 トークンで打ち切ります8 。大きなシーンで get_scene_info を使うときは、query や root で対象を絞るよう頼みます。必要なら MAX_MCP_OUTPUT_TOKENS で上限を上げられます8 。
Blender MCP の最大のリスクは、エージェントが書いた Python が Blender の中で無条件に動く ことです。Blender の Python は OS のファイルやネットワークにも触れます。README は execute_blender_code について「任意の Python を実行できるので危険になりうる。使う前に必ず作業を保存すること」と警告しています1 。
エージェントの承認設定、MCP サーバーの safe mode、Blender アドオンのソケット、Blender の Python 実行の 4 層と、それぞれで止められること・止められないこと 図: 筆者作成(各実装の README・ソースコードと Claude Code・Codex の公式ドキュメントをもとに作図)
エージェントのサンドボックスの外で動く : Claude Code のサンドボックスはシェルコマンドだけが対象で、MCP サーバーはその外で動くと公式ドキュメントに明記されています12 。Blender はさらに別のプロセスなので、エージェント側の制限は Blender の中の Python に届きません
ソケットに認証がない : アドオンのソケットには認証も暗号化もなく、そのポートに届く人は誰でも Blender で Python を実行できます1
プロンプトインジェクション : safe mode のソースコードは、Poly Haven・Sketchfab などのアセット名や説明文に仕込まれた指示で、エージェントが有害なコードを書かされる攻撃を想定しています11
Blender Lab も、生成したコードの実行には「データの削除や外部への送信を防ぐ仕組みがない」とし、仮想マシンか機密情報のない環境で使うよう勧めています3 。
MCP for Blender は BLENDER_MCP_SAFE_MODE=1 を設定すると、スクリプトを実行前に検査します。ファイルの直接の読み書き、ほかのプログラムの実行、ネットワーク通信、スクリプト終了後も動き続けるコードの登録などを止め、モデリング・マテリアル・レンダリング・保存・インポートとエクスポートは通します。止めた理由はエージェントに返るので、エージェントは書き直して再実行できます1 。
ただし、ソースコードのコメントにあるとおり、これはMCP 経由の経路だけを守る検査 で、Blender を囲うサンドボックスではありません11 。ローカルの別のプロセスがソケットに直接送ったコードは検査されません。
Claude Code では、権限ルールで MCP のツールごとに許可・確認・拒否を決められます。名前は mcp__<サーバー名>__<ツール名> です10 。プロジェクトの .claude/ settings.json に次のように書くと、シーンを読むツールは確認なしで通し、コードの実行は毎回確認を求めます。
{
"permissions" : {
"allow" : [
"mcp__blender__get_scene_info" ,
"mcp__blender__look"
] ,
"ask" : [
"mcp__blender__execute_blender_code"
]
}
}
コードの中身を読んでから承認する運用にすると、意図しない削除にも気づけます。決まったコマンドを止める仕組みは「Claude Code hooks 入門 」も参考になります。
Codex では disabled_tools で特定のツールを外せます。たとえば調べものだけをさせたいなら、コード実行のツールを外します9 。
[mcp_servers.blender]
command = "uvx"
args = ["mcp-for-blender" ]
disabled_tools = ["execute_blender_code" ]
Codex にはサーバーごとの承認モード default_tools_approval_mode もあり、writes にすると「読み取り専用と宣言されていないツール」だけ確認を求めます9 。ただし 2026 年 10 月時点の MCP for Blender のソースでは、get_scene_info や look にも読み取り専用の宣言は付いていません1 。writes にすると、すべてのツールで確認が出ると考えておきます。
ポートを外に開けない : アドオンは localhost のままにし、別のマシンの Blender を使うなら SSH トンネルを通す(README の推奨)1
作業前に保存する : .blend を保存し、バージョン管理やバックアップを取ってから頼む1
機密のない環境で動かす : 社外秘の .blend や認証情報がある端末では、仮想マシンや作業用のユーザーを分ける3
テレメトリーを確認する : MCP for Blender は既定で匿名の利用記録(ツール名・成否・所要時間など)を送ります。止めるなら DISABLE_TELEMETRY=true を環境変数に設定する1
AI エージェントからの情報漏えい全般の対策は「AI エージェントの情報漏洩対策 」にまとめています。
Blender MCP は「エージェント → MCP サーバー(stdio)→ Blender アドオン(TCP 9876)→ Blender」の中継で、エージェントが書いた bpy を Blender の中で実行する
実装は主に 2 つ。作品づくりならコミュニティ製の MCP for Blender、.blend の調査や API の検索なら Blender 公式の Blender Lab MCP(Blender 5.1 以上)
Claude Code は claude mcp add --scope user blender -- uvx mcp-for-blender、Codex は codex mcp add blender -- uvx mcp-for-blender か ~/ .codex/ config.toml で登録する
つまずきの多くは uvx の PATH と Python のバージョン。フルパス指定と --python 3.11 で直る
任意の Python が動くので、safe mode・コード実行の都度確認・作業前の保存をセットにする
次の一歩として、まずは空のシーンで「立方体を 3 つ並べて look で確認して」と頼み、接続と承認の流れを確かめてください。自分で MCP サーバーを作ってみたい人は「Go で MCP サーバーを作る 」も参考になります。
MCP for Blender は MIT ライセンスで、本体は無料です1 。AI での 3D 生成(Hunyuan3D・Tripo・Hyper3D Rodin)は、各サービスの API キーを自分で用意するか、有料の Premium を使います1 。Blender Lab MCP は GPL-3.0-or-later で公開されています2 。使うエージェント(Claude Code・Codex)の利用料は別にかかります。
使えます。codex mcp add blender -- uvx mcp-for-blender で登録するか、~/ .codex/ config.toml に [mcp_servers.blender] を書きます。CLI・デスクトップアプリ・IDE 拡張で設定は共通です1 。ビューポートをチャットの横に表示したいなら、MCP for Blender の Codex プラグインを使います。
あります。Blender Lab の MCP サーバーで、Blender 5.1 以上が必要です。シーンの分析やデバッグ、Python API とマニュアルの検索に向いています3 2 。よく使われている MCP for Blender はコミュニティ製で、Blender 公式ではありません4 。
同じ Blender に対して MCP サーバーを 2 つ起動しないよう、README は注意しています1 。使うクライアントを 1 つに決めるか、Blender を 2 つ起動してポートを分け、クライアントごとに --port を変えて登録します1 。
MCP に対応したクライアントなら使えます。Blender Lab MCP は、ローカルで LLM を動かす Llama.cpp との接続手順を公式 Wiki に載せています2 。生成したコードがそのまま Blender で動く点はクラウドのモデルと同じなので、守り方も変わりません。