はじめに
最近、ローカルAIエージェントをいろいろ試しています。
これまではLM StudioやOpen WebUI、ComfyUIなどを使ってきましたが、今回は少し違ったことを試してみることにしました。
それが、ローカルLLMからBlenderを操作するというものです。
BlenderにはMCP(Model Context Protocol)を利用してAIから操作できる仕組みがあります。
「AIに『円柱を追加して』とか『雪だるまを作って』と指示したら、本当にBlenderを操作してくれるのか?」
これはちょっと面白そうだったので、実際に自分のPCで試してみました。
今回使用したのは、
- Blender 5.1
- Blender MCP
- LM Studio+Gemma 4 12B
という構成です。
この記事では、まずLM StudioとBlender MCPを接続して、実際にBlenderのシーンをAIから操作できるところまでを紹介します。
実際に3Dモデルを作らせた結果については、別記事で紹介する予定です。
Blender MCPとは?
MCPは、LLMと外部ツールを接続するための仕組みです。
今回利用したBlender MCPでは、LLMからBlenderに対して、
- 現在のシーンを確認する
- オブジェクトを取得する
- オブジェクトを追加する
- オブジェクトを削除する
- Pythonコードを実行する
といった操作を行えるようになります。
つまり、単にAIにBlenderのPythonコードを書かせるだけではなく、AIがMCP経由で実際に起動中のBlenderを操作できるというわけです。
今回は、この仕組みをローカル環境で動かしてみます。
今回の環境
今回使ったPC環境は以下の通りです。
| 項目 | 環境 |
|---|---|
| LLM | Google Gemma 4 12B QAT |
| LLMクライアント | LM Studio |
| 3Dソフト | Blender 5.1 |
| MCP Server | Blender MCP |
| Python環境 | uv |
| OS | Windows |
ローカルAIなので、基本的にはクラウドAIにBlenderを操作させるのではなく、自分のPC内で完結する構成を目指します。
uvとは?
Python向けのパッケージ管理ツールです。よくPythonではpipとか使ってinstallしますが、pipより高速にインストールや依存関係の解決が可能です。pipだけでなくvenvなどの仮想環境の作成もでき、次世代ツールとして注目を集めてます。
1. Blender側の準備
まずBlender側にMCP用のAdd-onを導入します。Blender MCPには、
- Blender用Add-on
- LLM Client
- MCP Server
という複数の要素があります。導入はこちらの記事が参考になります。記事には「Llama.cpp」も導入するよう書かれてますが、今回は不要です。

Blender側にAdd-onをインストールしたら、Blenderを起動します。起動したら「編集→プリファレンス」を開いてアドオンにあるMCPを見つけたら、下記画像にある「Start MCP Bridge Sever」を押して”Server is running”にしておきます。

今回使用した環境では、BlenderのMCP機能を起動すると、
Host: localhost
Port: 9876
という設定になりました。ここは後ほどMCP Server側との接続に関係してきます。
2. Blender MCP Serverを用意する
今回使用したBlender MCPはGitHubなどから別途インストールしたものではなく、以前導入していたものをそのまま利用しました。
自分の環境では、
C:\blender_mcp
に配置されています。中を見ると、
addon
chat_client
mcp
tests
_misc
などのディレクトリがあります。MCP Server本体は、
C:\blender_mcp\mcp
にあります。ここには、
.venv
blender_mcp.egg-info
blmcp
manifest.json
pyproject.toml
requirements.txt
uv.lock
などが入っています。
3. uvでBlender MCP Serverを起動する
次に今回はPython環境の管理にuvを使いました。まず、PowerShellで以下のようにBlender MCPのディレクトリを指定して起動します。
uv --directory C:\blender_mcp\mcp run blender-mcp --transport http --port 9191
正常に起動すると、以下のような表示が出ます。
INFO: Started server process
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:9191
これでBlender MCP Serverが、
http://127.0.0.1:9191
で待機する状態になります。ここは少し注意が必要です。Blender側のポートが9876、MCP Server側が9191となっています。
それぞれ別の役割を持っているため、同じポートにする必要はありません。
4. LM Studio側にMCP Serverを登録する
次にLM Studio側からBlender MCP Serverを利用できるようにします。LM Studioを起動したら、「Server→mcp.json」からmcp.jsonを開き、以下の赤字部分のblenderの設定を追加します。
{
"mcpServers": {
"blender": {
"url": "http://127.0.0.1:9191/"
}
}
}
今回のBlender MCP ServerはHTTPで起動しているため、LM Studio側ではHTTP経由で接続する設定にします。
※ここは使用するLM StudioのバージョンやMCPクライアントの仕様によって設定方法が異なる可能性があります。
5. BlenderとMCP Serverを接続する
ここまで準備できたら、
- Blenderを起動
- Blender MCP Add-onを起動
- MCP Serverを起動
- LM Studioを起動
という順番で確認します。自分の環境では、最初に接続したときに、
SSE error: Non-200 status code (404)
というエラーが出ました。原因はMCP Serverの接続先と通信方式が合っていなかったことでした。設定を見直したところ、正常に接続できるようになりました。
MCPは「サーバーが起動しているだけ」ではなく、LLMクライアントが期待する通信方式・エンドポイントと一致していることが重要なようです。
6. 実際にBlenderのシーンを確認してみる
接続できたら、LM StudioでローカルLLMに指示してみます。例えば、
Blenderの現在のシーンに何があるか確認してください。
と入力します。すると、Gemma 4 12BがBlender MCPのツールを呼び出し、現在のシーンを取得できました。
最初のBlenderには、
- Cube
- Camera
- Light
が存在していました。つまり、
LM Studioで動いているローカルLLM → MCP → Blender
という経路で、実際にBlenderの状態を取得できています。これはなかなか面白いです。
7. Blenderを実際に操作してみる
次に、単なる情報取得ではなく操作を試します。例えば、
Cubeを削除して、円柱を1個追加してください。
と指示します。
するとGemma 4 12BがBlender MCPのexecute_blender_codeを呼び出し、Blender上でPythonコードを実行します。実際に、
- Cubeを削除
- Cylinderを追加
- オブジェクト名を変更
といった操作ができました。
途中でBlender 5.1のAPIの違いによるエラーも発生しましたが、LLMがエラー内容を見てコードを修正し、最終的には操作を完了できました。
ここまで来ると、単なる「AIにPythonコードを書いてもらう」というものとは少し違います。
AI自身がBlenderの状態を確認し、MCPツールを使ってBlenderを操作する
という形になっています。
8. ここまでやってみて分かったこと
実際に使ってみると、思った以上に面白いです。特に、
「Blenderで○○を作って」
という自然言語の指示から、LLMがPythonコードを生成し、それをMCP経由でBlenderに送って実行できるのはかなり新鮮でした。
一方で、まだ完全に安定しているわけではありません。
例えば、
- BlenderのバージョンによるAPIの違い
- LLMが生成するPythonコードのミス
- MCPの通信設定
- 複雑なBlender内部データの扱い
などでエラーが発生することがあります。特に複雑な処理になるほど、AIに細かい指示が必要になる場面もありました。
そのため、現時点では、
「AIにBlenderを完全に任せれば何でも作れる」
という段階ではありません。ただ、簡単なオブジェクトの作成や編集であれば、ローカルLLMだけでも十分試せるところまで来ています。
まとめ
今回は、LM Studioで動かしているローカルLLMとBlender MCPを接続して、BlenderをAIから操作できる環境を作りました。
今回のポイントをまとめると、
という結果でした。そして、ここまでできると次に試したくなるのはやっぱり、
「じゃあ、ローカルAIに実際の3Dモデルを一から作らせたらどうなる?」
ということ。というわけで、次回はGemma 4 12BにBlenderを操作させて、実際に3Dモデルを作ってみます。
果たして、ローカルAIだけでどこまで作れるのでしょうか。長くなったので今回はこの辺で。
今回の副業活動時間
環境構築:60分
AIとのやり取り(Blenerの操作の指示含む):120分
ブログ記事執筆:30分
合計:210分
今までの合計:635分

コメント