mcpField
F
Frugal Blender MCP

Frugal Blender MCP

ローカル
github.com/mohakmalviyaメディア・デザイン152 週間前に更新

Frugal Blender MCP について

Frugal Blender MCP は、Blender のシーンを構築・確認する AI エージェント向けの MCP サーバーです。4つの簡潔なツール、操作の一括実行、権限制御を通じて Blender の機能を利用できます。

主な機能

  1. 01discover、execute、inspect、captureの4ツール
  2. 021回の呼び出しで最大100操作を一括実行
  3. 03ページングと名前指定によるシーン確認
  4. 04プレビューのキャプチャとレンダリング
  5. 05任意で完全なbpy APIにアクセス
  6. 06リスクのある操作の権限制御

活用シーン

  1. 01AIエージェントでBlenderシーンを構築・調整
  2. 02シーン編集を一括実行しキャプチャで確認
  3. 03シーンのレンダリングや保存
  4. 04CLIスクリプトからBlender操作を実行

MCP 対応

MCPクライアントにdiscover、execute、inspect、captureの4つのツールを提供します。操作の検出、一括実行、シーンの絞り込み確認、画像キャプチャに利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"mohakmalviya-frugal-blender": {
"command": "uvx",
"args": [
"frugal-blender-mcp"
]
}
}
}
起動コマンドuvx frugal-blender-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypifrugal-blender-mcp0.2.0

ツール

4

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitintegerいいえ
namesarrayいいえ
offsetintegerいいえ

詳細

Frugal Blender MCP

AI エージェントに Blender のシーンを構築させましょう。Blender のすべてを、4 つのツールと 338 トークンで。

Checks PyPI Blender 4.2+ MCP MIT

クイックスタート · トークンを節約する仕組み · ベンチマーク · 安全性 · 使用例

夕焼けの中、回転する光と揺れる帆船、動く海の波が描かれた、様式化された灯台の島

Claude が作成した 5 回の execute 呼び出し(109 操作)を、Blender 5.1 の Cycles でレンダリングしました。 同じ呼び出しを再生できます。実行は 1 秒未満です。

4

MCP ツール

338

固定コンテキストのトークン数

100

1 回の呼び出しあたりの操作数

14–22x

他の Blender サーバーより少ないコンテキスト量

重要な理由

すべての MCP クライアントは、何かを入力する前に、各サーバーのツール定義をリクエストのたびにモデルへ送信します。ほとんどの Blender サーバーは 26~31 個のツールを公開しているため、その分だけ数千トークンを消費します。これは、シーンやコード、エージェント自身の推論に使えなくなるコンテキストです。

Frugal Blender MCP が公開するツールは、discover、execute、inspect、capture の 4 つだけですが、Blender API 全体を利用できます。

クイックスタート

Blender 4.2 以降と uv が必要です。

1. Blender アドオンをインストールする

uvx frugal-blender-mcp install-addon

Blender で 編集 → プリファレンス → アドオン を開き、Frugal Blender MCP を有効にします。次に、3D ビューポートで N を押し、Frugal MCP タブを開いて Start bridge をクリックします。

2. エージェントを接続する

Claude Code
claude mcp add blender -- uvx frugal-blender-mcp
Codex CLI
codex mcp add blender -- uvx frugal-blender-mcp
Claude Desktop,
Cursor, Windsurf
{
  "mcpServers": {
    "blender": { "command": "uvx", "args": ["frugal-blender-mcp"] }
  }
}

デスクトップアプリが uvx を見つけられない場合は、絶対パスを指定してください(which uvx または where uvx)。

3. やりたいことを指示する

ゴールデンアワーに、小さな灯台の島を作ってください。赤と白の灯台、管理人の家、数本の松、岩、帆船を配置します。編集をまとめて実行し、プレビューをキャプチャしてください。

4 つのツールで Blender のすべてにアクセス

多くのサーバーでは、操作ごとに 1 つのツールを用意し、すべての定義をリクエストのたびに送信します。 このサーバーではメニューを短く保ち、エージェントが求めたときだけ詳細を渡します。

sequenceDiagram
    autonumber
    participant A as AI agent
    participant M as Frugal Blender MCP
    participant B as Blender
    Note over A,M: Each request carries only 4 tool definitions, 338 tokens
    A->>M: discover()
    M-->>A: 16 operation summaries, 189 tokens, once
    A->>M: discover("array")
    M-->>A: argument contract for one operation
    A->>M: execute(43 steps)
    M->>B: validated batch, run on Blender's main thread
    M-->>A: ok, completed 43, 28 tokens
    A->>M: capture()
    M-->>A: preview image at the scene's aspect ratio
手法内容効果
遅延スキーマ操作の引数は discover の先にあります。エージェントは使う場合に限り、それぞれ一度だけ取得します。固定コストは 338 トークンのままです。すべてのスキーマを取得しても合計は 1,256 トークンです。
バッチ処理1 回の execute で最大 100 個の操作を実行できます。array では 1 ステップで最大 200 個のコピーを作成でき、keyframes では最大 1,000 個のキーを設定できます。灯台の作成には 109 回ではなく、5 回の呼び出しで済みました。
コンパクトな結果execute はカウントとエラーを返し、シーンの内容をそのまま返すことはありません。109 個の操作で返されたのは、合計 202 トークンでした。
ダンプせずに確認capture は画像を返します。inspect はページ分割され、名前で絞り込めます。エージェントは巨大なシーンのダンプを読み込まずに作業を確認できます。
無駄のない定義ツールを一覧表示する前に、生成されたスキーマのタイトル、null のユニオン、ドックストリングの空白を取り除きます。定義は 406 トークンから 289 トークンに縮小しました。300 トークンを超えるとテストが失敗します。
エスケープハッチは 1 つpython は同じ execute 呼び出しを通じて任意の bpy コードを実行するため、追加のツールは必要ありません。Geometry Nodes、リギング、シミュレーション、インポート/エクスポートも固定コストはゼロです。

上のアニメーションを作成した 5 回の呼び出しと、それぞれで追加された内容:

5 回の execute 呼び出し後、それぞれの時点での灯台シーン

ベンチマーク

リクエストごとの固定コンテキスト:Frugal Blender MCP は 338 トークン、Blender Lab official は 4,722 トークン、ahujasid は 7,464 トークン
サーバーツールリクエストごとの固定コンテキスト
Frugal Blender MCP4338 トークン
Blender Lab official264,722 トークン(14.0 倍)
ahujasid mcp-for-blender317,464 トークン(22.1 倍)

各サーバーの実際の initialize および tools/list の応答に含まれるツール定義とサーバーの指示を、tiktoken o200k_base でトークン化しています。 手法、生データ、検出コスト、注意事項。

エージェントにできること

必要な操作操作
🧱構築primitive、array、transform、material、assign_material、light、camera、delete
🎨調整modifier(Blender の任意のモディファイアー)、properties(オブジェクト、データ、シーン、レンダーの任意の RNA プロパティ)、rna(プロパティ名と列挙値の検索)
🎬アニメーションkeyframes、frame
📸出力capture(プレビューをエージェントに返します。EEVEE、またはリクエストに応じて Cycles)、render(静止画またはアニメーション)、save(.blend のコピー)
🐍その他すべてpython:完全な bpy API。デフォルトでは無効です。

安全性

Blender の制御権はユーザーにあります。ブリッジの起動時にアドオンパネルで権限を選択でき、エージェントはそれを変更できません。

  • 書き込みとレンダーはデフォルトで有効です。削除、保存、pythonは無効です。
  • **Python は制限のないローカルコード実行です。**信頼できるエージェントに対してのみ有効にしてください。
  • ブリッジはループバックのみで待ち受け、起動のたびに新しいランダムトークンが必要です。
  • 削除には confirm: true が必要です。保存とレンダーで既存のファイルが上書きされることはありません。
  • インタラクティブセッションでは、バッチごとに元に戻すためのチェックポイントが作成されます。
  • テレメトリはありません。

詳細:SECURITY.md。

比較

コンテキストサイズだけでなく、必要な機能で選んでください。

  • Blender Lab の公式サーバーは、Blender のマニュアルと API ドキュメントも検索するため、エージェントが正しい bpy を記述するのに役立ちます。
  • ahujasid のサーバーは、アセットプロバイダー(Poly Haven、Sketchfab、Hyper3D など)をまとめて提供します。
  • このサーバーは、固定コンテキストを小さく保ち、編集をバッチ処理し、リスクの高い操作には権限を必要とし、許可されている場合は python を通じて API 全体を利用できます。

詳細

CLI:同じコードパスでスクリプトから Blender を操作する
uvx --from frugal-blender-mcp frugal-blender discover
uvx --from frugal-blender-mcp frugal-blender inspect
uvx --from frugal-blender-mcp frugal-blender execute --params '{"steps":[{"op":"primitive","kind":"cube","name":"Demo"}]}'
uvx --from frugal-blender-mcp frugal-blender capture --params '{"filename":"preview.png","size":768}'

PowerShell では、JSON を引用符で囲む代わりに、ファイルをパイプで渡せます。 Get-Content -Raw examples/lighthouse/01-sky-and-sea.json | uvx --from frugal-blender-mcp frugal-blender execute --params -

キャプチャ、レンダリング、保存の出力先はブリッジの exports/ フォルダーで、CLI はファイル名を表示します。

複数の Blender インスタンス

実行中の各ブリッジは接続記述子を書き込みます。複数存在する場合は、 BLENDER_COMPACT_CONNECTION に使用するものを設定してください。

  • Windows:%LOCALAPPDATA%/blender-compact-mcp/connection-<pid>.json
  • Linux/macOS:${XDG_STATE_HOME:-~/.local/state}/blender-compact-mcp/connection-<pid>.json

接続先が曖昧な場合、シーンをランダムに選ぶのではなく、検出に失敗します。別のファイルを開くとブリッジが停止します。 クラッシュ後は、古い接続記述子だけを削除してください。

uvx を使わずにインストール
  • アドオン: Releases から frugal-blender-mcp-addon-<version>.zip をダウンロードし、Blender のアドオン設定で Install from Disk を選ぶか、 uvx frugal-blender-mcp install-addon --zip addon.zip を実行します。
  • ソースからサーバーをインストール: リポジトリをクローンし、uv sync --frozen を実行して、クライアントから uv run --directory /absolute/path/to/frugal-blender-mcp frugal-blender-mcp を指定します。

旧式の blender-astra-mcp または blender-compact-mcp コマンドを使う設定も引き続き動作します。

アーキテクチャ
AI client -- MCP stdio --> Python bridge -- authenticated loopback JSON --> Blender add-on
CLI ----------------------------^                                         bpy.app.timers

Blender のタイマーは、サイズが制限されたソケット入力を受け付け、Blender のメインスレッドで操作を実行します。バックグラウンドスレッドが Blender のデータに触れることはありません。discover は読みやすい引数の仕様を返し、アドオンは実行前にすべてのバッチを再度検証します。途中で失敗したバッチは、失敗したステップと、それまでに実行された内容を報告します。設計を参照してください。

開発
uv sync --frozen
uv run ruff check --config pyproject.toml .
uv run ruff format --check --config pyproject.toml .
uv run pytest -q

Blender が必要なテストは、BLENDER_EXE が Blender の実行ファイルを指していない場合はスキップされます。インタラクティブタイマーと取り消しもテストするには、BLENDER_TEST_UI=1 を設定してください。テストでは別々の factory-startup Blender プロセスが起動し、シーンや設定には一切触れません。結果:検証。

scripts/demo_host.py は、空のシーンでヘッドレスブリッジを実行し、examples/ を再生します。 scripts/bench_tool_context.py と scripts/context_chart.py は、ベンチマークとグラフを再現します。

これによってエージェントのトークンを節約できたら、⭐を付けて他の人にも見つけてもらいましょう。

MIT ライセンス。Blender Foundation またはモデルプロバイダーとは提携していない独立プロジェクトです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。