Skip to main content
Glama

Blender 2D MCP

Model Context Protocol を介した Blender 5.x 向けのAI駆動2D描画・アニメーション。MCPクライアント(Claude Desktop、Cursor、VS Code Copilot agent mode など)が、実行中のBlenderインスタンス内で直接Grease Pencilの描画、キーフレーム、マテリアル、レンダーを作成できます。

Blenderの GPv3 API(bpy.ops.grease_pencil.*GreasePencilDrawing)上に構築されており、ahujasid/blender-mcp を参考にしています。

flowchart LR
    A[MCP Client<br/>Claude / Cursor / VS Code] <-->|stdio / JSON-RPC| B[blender-2d-mcp<br/>FastMCP server]
    B <-->|TCP JSON<br/>localhost:9876| C[addon.py<br/>socket server in Blender]
    C -->|main thread| D[Grease Pencil API<br/>GPv3]
  • addon.py — TCP JSONコマンドサーバーを内蔵したBlenderアドオン。コマンドはキューに積まれ、bpy.app.timers を介してBlenderのメインスレッドで実行されます。

  • src/blender_2d_mcp/server.py — アドオンのコマンドをMCPツールとして公開するFastMCP stdioサーバー。

要件

  • Blender 5.2 LTSのみ(アドオンは旧バージョンでは有効化を拒否します。使用するGPv3 APIサーフェスは5.2固有です)

  • Python ≥ 3.10 と mcp[cli](自動インストールされます)

Related MCP server: Blender MCP Bridge

インストール

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

  1. Blenderで: Edit > Preferences > Add-ons > Install…

  2. このリポジトリから addon.py を選択。

  3. Interface: Blender 2D MCP を有効化。

  4. サイドバーを開く(View > Sidebar、または N キー)→ Blender2DMCP タブ。

  5. Connect to MCP Client をクリック(デフォルトポート 9876)。Blenderは起動したままにしてください。

ヒント: blender-2d-mcp --install-addon を実行すると addon.py がダウンロードフォルダにコピーされ、これらの手順が表示されます。

2. MCPクライアントを接続

サーバーは localhost のみにバインドします。ローカル利用には認証トークンは不要です。

オプションA — uvx(インストール不要):

uvx --from "g:\My Projects\blender-2d-mcp" blender-2d-mcp

オプションB — 編集可能インストール:

cd "g:\My Projects\blender-2d-mcp"
pip install -e .
blender-2d-mcp            # runs the stdio MCP server

Claude Desktopclaude_desktop_config.json):

{
  "mcpServers": {
    "blender-2d-mcp": {
      "command": "uvx",
      "args": ["--from", "g:\\My Projects\\blender-2d-mcp", "blender-2d-mcp"]
    }
  }
}

Cursor.cursor/mcp.json)または汎用stdioクライアント:

{
  "mcpServers": {
    "blender-2d-mcp": {
      "command": "C:\\Path\\To\\Python\\Scripts\\blender-2d-mcp.exe",
      "args": []
    }
  }
}

VS Code / GitHub Copilot Chat.vscode/mcp.json — このリポジトリに同梱済み):

{
  "servers": {
    "blender-2d-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "g:\\My Projects\\blender-2d-mcp", "blender-2d-mcp"],
      "env": {}
    }
  }
}

別の方法として、blender_2d_mcp が何らかの環境にpipインストールされている場合は、その環境のPythonを使用します: "command": "C:\\Path\\To\\Python\\python.exe", "args": ["-m", "blender_2d_mcp.server"]

使用方法: Copilot Chatを開き、モードドロップダウンを Agent に切り替えると、Blenderツールが利用可能になります(#blender-2d-mcp)。コマンドパレットから MCP: List Servers でサーバーの開始・停止・再起動ができます。mcp.json を編集した後はVS Codeウィンドウをリロードしてください。

2Dキャンバス

setup_2d_scene を使用すると、ビューポートが正面の正投影ビューに設定されるため、描画平面はワールド XZ になります:

送信する2Dポイント

ワールド位置

意味

[x, y]

(x, 0, y)

x = 画面右方向、y = 画面上方向

[x, y, z]

(x, y, z)

そのまま使用

単位はメートル(Blenderのデフォルト)です。デフォルトのカメラズームでの1920×1080 HDフレームは、水平方向に約±5単位の範囲になります。

ツールカタログ

ツール

目的

get_gp_scene_info

GPオブジェクト、レイヤー、キーフレーム、ストローク数の一覧表示

get_scene_info / get_object_info

一般的なシーン/オブジェクトのイントロスペクション

get_addon_info

アドオン/プロトコル/Blenderバージョン + 互換性ステータス

setup_2d_scene

白背景、正面正投影ビュー、HD解像度

create_gp_object

レイヤー + 黒ストロークマテリアルを持つ新しいGPオブジェクト

gp_add_layer / gp_remove_layer / gp_set_active_layer / gp_list_layers

レイヤー管理

gp_rename_layer / gp_reorder_layer / gp_duplicate_layer

レイヤースタックの編集

gp_set_layer_props

不透明度、ブレンドモード、非表示、ロック

gp_set_layer_mask

GPv3レイヤーマスキング(切り抜き効果)

gp_insert_blank_frame

冪等な空白キーフレーム作成

gp_copy_frame / gp_move_frame / gp_delete_frame

キーフレーム操作(instance_drawing=True で描画をリンク)

gp_draw_stroke

フリーフォームストローク。テーパリング用のポイントごとの半径/不透明度プロファイル

gp_draw_strokes

1回の呼び出しで多数のストロークを一括描画

gp_draw_shape

circle / box / rounded_box / arc / line / polygon / star / spiral、オプションの塗りつぶし付き

gp_list_strokes / gp_delete_stroke / gp_transform_stroke / gp_edit_points

ストロークの検査と編集(移動/拡大縮小/回転/スムーズ)

gp_create_material / gp_list_materials

ストローク + 塗りつぶしの色

gp_interpolate

2つのキーフレーム間の中間フレームを生成(イージング制御)

gp_keyframe_transform

キーフレームのオブジェクト位置/回転/スケール

gp_set_onion_skinning

前後のフレームをゴースト表示

gp_add_modifier / gp_remove_modifier / gp_set_modifier / gp_list_modifiers

GPモディファイア: Noise wobble、Smooth、Thickness、Time offset…

set_frame / set_scene_settings

再生ヘッド、fps、フレーム範囲、レンダーエンジン、フィルム透過

setup_camera

キャンバスにフィットした正面正投影カメラ

add_reference_image

トレース用の背景画像エンプティ

render_frame / render_animation / get_render_status / cancel_render

mp4動画出力を含むノンブロッキングレンダー

undo / redo

AI駆動の編集を元に戻す

get_viewport_screenshot

ビューポートのキャプチャを画像として返す

run_gp_operator

脱出ハッチ: 任意の bpy.ops.grease_pencil.* オペレーター

execute_blender_code

最終手段としての任意の bpy Python

典型的なワークフロー

  1. get_gp_scene_info + get_viewport_screenshot — 既存の状態を確認。

  2. 新規開始の場合は setup_2d_scenecreate_gp_object

  3. gp_draw_shape / gp_draw_stroke で描画。frame_number を渡すとキーポーズにストロークを配置できます(フレームは自動的に作成されます)。詳細な描画の一括作成には gp_draw_strokes を使用。

  4. 塗りつぶしシェイプ: fill_alpha > 0 のマテリアルを作成し、fill=True + fill_material を指定。

  5. 「2コマ打ち」でアニメーション(24fpsで2フレームごとにキーポーズ): gp_copy_frame でポーズをコピーし、gp_transform_stroke で調整、gp_interpolate で中間フレームを生成。手描き風の揺れにはNOISEモディファイアを追加。

  6. render_animation(use_video=True) でレンダリングし、get_render_status でポーリング。

  7. 変更後は必ずスクリーンショットを撮って視覚的に確認。ミスは undo で取り消せます。

開発

pip install -e ".[dev]"
python -m pytest tests/ -v

テストスイートは、Blenderの外部でアドオンのTCPトランスポートを実行します。サーバークラスを偽の bpy に対してASTリフティングすることで、Blenderのインストールは不要です。実際のGrease Pencilデータに触れるハンドラーロジックは、Blender内で検証する必要があります。

トラブルシューティング

症状

修正方法

MCPクライアントが接続できない

最初にBlenderのサイドバーパネルでサーバーを起動してください。ポートが一致しているか確認してください(デフォルトは9876)

ポートが既に使用されている

サイドバーパネルでポートを変更し、MCPコマンドに--port Nを追加してください

起動時のファイアウォールプロンプト

プライベートネットワークでBlenderを許可してください(サーバーはlocalhostのみにバインドされます)

スクリーンショットが黒い

Blenderウィンドウ内を一度クリックしてください(コンポジターの問題)、または3Dビューポートが表示されていることを確認してください。ツールはオフスクリーンGPUキャプチャからウィンドウグラブに自動的にフォールバックします

gp_interpolateが失敗する

Blenderで表示可能な3Dビューポートと、両方の境界フレームにキーフレームが必要です。ビューポートを開いてください

モーダルオペレーター(ペン、ブラシストローク)が機能しない

MCPではサポートされていません — 代わりにgp_draw_strokeを使用してください

Unauthorized: missing or invalid auth token

使用されなくなりました — MCPサーバーを再起動し、アドオンとblender-2d-mcpの両方が最新であることを確認してください(認証はv0.3で削除されました)

レンダリングがハングするように見える

現在はノンブロッキングです — state=doneになるまでget_render_statusをポーリングしてください

アドオンが有効化できない

このプロジェクトはBlender 5.2 LTSを正確に必要とします(GPv3 APIのみ)。古いビルドは設計上拒否されます

ライセンス

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/Praveen16-V/blender-2d-mcp'

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