mcp-cinema4d について
mcp-cinema4d は Cinema 4D 2026 向けのオープンソースのコミュニティ製 MCP サーバーで、任意の Python コードを貼り付けるのではなく、型付けされた取り消し可能なツールを通じて LLM が操作できるようにします。Cinema 4D 2026.0~2026.3 を使う方や、マルチインスタンス制御が必要な方を想定しています。
主な機能
- 0117 グループに分かれた 72 のツール
- 02エンティティの CRUD とパラメーター単位のアクセス
- 03取り消し単位にまとめられたバッチ操作
- 04ノードマテリアルと Xpresso グラフの編集
- 05exec_python と Python 系プラグインタイプは既定で無効
活用シーン
- 01シーン階層、タグ、変換値の確認
- 02ショット、レンダー設定、テイクのセットアップ
- 03ノードマテリアルや Xpresso リグの作成
MCP 対応
本プロジェクトは MCP サーバーとして stdio で MCP クライアントからのリクエストを受け取り、JSON Lines で Cinema 4D 内のブリッジプラグインへ転送します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
67掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細

mcp-cinema4d
LLM に Cinema 4D を操作させましょう。mcp-cinema4d は、MCP 互換クライアント(Claude Desktop、Claude Code、その他の stdio 対応 MCP クライアント)を、実行中の Cinema 4D 2026 セッションに橋渡しします。これにより、モデルはシーン階層の調査、ショットの作成、ノードマテリアルの構築、アニメーションのリギングを、型付けされた undo 安全なツールレイヤーを通じて行えます — Script Manager に貼り付けた任意の Python ではなく。
重要
Cinema 4D は公式の MCP サーバーを搭載するようになりました。 Cinema 4D 2026.4 以降、Maxon は MCP サーバーを Cinema 4D 自体に組み込んでいます。インストールは不要で、Preferences → MCP からセットアップでき、Maxon がサポートしています。2026.4 以降を使用していて、Cinema 4D で AI アシスタントを利用したいだけの場合は、まずそちらから始めてください — Maxon の MCP Server ページ と ドキュメント を参照してください。
mcp-cinema4d は独立したコミュニティプロジェクトです。組み込みサーバーが適さない場合の選択肢として残ります:
- Cinema 4D 2026.0〜2026.3 — 組み込みサーバーがありません。
- 1 つのセッションから複数の Cinema 4D プロセスを操作(マルチインスタンスモード)— 組み込みサーバーのドキュメントでは扱われていません。
- オープンソース — ツールとブリッジを自身で読み、監査し、拡張できます。
同じクライアントに両方のサーバーを登録しないでください。 ツールセットが重複しているため(たとえば両方とも
exec_pythonを公開しています)、モデルには競合する 2 セットの Cinema 4D ツールが提示されます。Maxon の FAQ でも同様に、組み込みサーバーを使用している間はサードパーティサーバーをオフにするよう求めています。
こんな用途に:
- シーン監査 — 「
heroレイヤー上のすべてのオブジェクトを一覧表示し、非均一スケールや Texture タグの欠落があるものを報告してください。」 - ショットセットアップ — 「1920×1080 の RenderData、座標 (0, 150, -400) のカメラ、その両方を使用する Take を作成してください。」
- マテリアル作業 — 「ノイズテクスチャがゲイン 0.4 でラフネスを駆動する Redshift ノードマテリアルを構築してください。」
- プロシージャル編集 — 「シーン内のすべての Subdivision Surface で、エディタ/レンダーレベルを 1 減らしてください。」
- Xpresso リグ — 「マスターギアのピッチ半径が Xpresso グラフを介して他のギアのサイズと逆回転を動的に駆動する、3 ギアの噛み合いリグを構築してください。」
注意
これが何をするのかを理解していない限り、先に進まないでください。 Cinema 4D にライブ接続された LLM は、あなたのシーンを読み取り、書き込み、(オプトインした場合は) あなたのマシン上で任意のコードを実行することができます。具体的には、次のとおりです:
- あなたのシーンデータはマシンの外へ送信されます。 オブジェクト名、階層パス、マテリアル/パラメーターの値、インポートされたファイルパス — LLM が
list_entities/describe/get_container/dump_shader/get_meshを介して読み取るものはすべて、あなたが選択した LLM プロバイダーに転送され、あなたの MCP クライアントによってログに記録される可能性があります。NDA の下にある、または未公開の IP ですか? まずスタジオ/法務チームに確認してください — プロバイダーの保持ポリシーとクライアントのログが許容可能であることを。- LLM に書き込みアクセス権が付与されます。 LLM はオブジェクト、タグ、マテリアル、テイク、レンダーデータ、レイヤーを作成、変更、削除できます。ファイルのインポート / マージ / オープン / 保存、およびレンダリングも可能です。Ctrl/Cmd-Z はほとんどの編集をカバーしますが、
save_document、open_document、render、および一部のcall_command呼び出しはカバーされません。- 任意の Python はデフォルトで無効です。
exec_pythonは Cinema 4D プロセスの完全な権限 (ファイル I/O、サブプロセス、ネットワーク) で無制限のコードを実行します。両方の側でC4D_MCP_ENABLE_EXEC_PYTHON=1が設定されている場合にのみ有効になります。不要になったら再度無効にしてください。コンテナに Python ソースを保存するプラグインタイプ — Python タグ、Python ジェネレーター、MoGraph Python エフェクター、Python フィールド、Xpresso Python オペレーター — にも同じことが当てはまります。これらの作成や編集は、別のC4D_MCP_ENABLE_PYTHON_OPS=1オプトインの背後に制限されています。これは、それらのコードパラメーターがexec_pythonと同等の RCE であるためです。初回使用の前に: シーンをバックアップ (またはコミット) し、使い捨てのプロジェクトで開始し、MCP クライアントの呼び出しごとの承認プロンプトを有効にしたままにしてください。ブリッジをループバック以外に公開する前に、セキュリティ を参照してください。
アーキテクチャ
MCP client
↓ stdio
MCP server (this repo, Node.js)
↓ TCP, JSON Lines (default 127.0.0.1:18710)
cinema4d_mcp_bridge (Python plugin inside C4D)
↓
Cinema 4D
インストールするものは 2 つあります: MCP サーバー (この npm パッケージ、MCP stdio プロセスとして実行されます) と ブリッジプラグイン (Python、Cinema 4D 内に常駐します)。ブリッジが応答するには C4D が実行中である必要があります。
クイックスタート
Cinema 4D 2026.0.0+ と Node.js 24+ がすでにあることを前提としています。
-
ブリッジプラグインを Cinema 4D にインストールします (1 回限り)。 最新の
cinema4d_mcp_bridge-<version>.zipを Releases ページ からダウンロードし、cinema4d_mcp_bridge/フォルダーを Cinema 4D のプラグイン ディレクトリに展開します (プラットフォーム固有のパスについては ブリッジプラグインのインストール を参照してください)。 -
Cinema 4D を起動 (または再起動) します。 C4D コンソールに
[cinema4d_mcp_bridge] listening on 127.0.0.1:18710と表示されるはずです。 -
CLI から MCP サーバーをスモークテストします:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ping","arguments":{}}}' \ | npx -y @kumoproductions/mcp-cinema4d # → {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"{\"pong\": true, ...}"}]}}
その後、MCP クライアントに組み込み (クライアント設定 を参照)、次を試してください:
「シーン内のすべてのオブジェクトを一覧表示し、原点から 200 単位上の
heroという名前のキューブを追加してください。」
LLM は list_entities → create_entity を順に呼び出します。ビューポートに新しいキューブが表示されるはずです。
ローカルのチェックアウトから実行することをおすすめしますか? ソースインストールの流れについては CONTRIBUTING.md を参照してください。
クライアント設定
ランダムなトークンを生成し、MCP サーバープロセス(下記のクライアントの env マップ経由)と Cinema 4D の起動環境の両方に設定してください。ブリッジは一致しないリクエストを拒否します(定数時間比較)。Node クライアントはこの値を自動的に転送します。強く推奨します — 共有ワークステーションでは localhost は信頼境界ではありません。
openssl rand -hex 16
クライアントに MCP サーバーを登録する際は、env マップにトークンを設定してください:
{
"mcpServers": {
"cinema4d": {
"command": "npx",
"args": ["-y", "@kumoproductions/mcp-cinema4d"],
"env": {
"C4D_MCP_TOKEN": "paste-your-random-hex-here"
}
}
}
}
| クライアント | 設定ファイル |
|---|---|
| Claude Desktop / Claude Code | %APPDATA%\Claude\claude_desktop_config.json (Windows) · ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) |
| その他の MCP クライアント | stdio サーバーの登録方法についてはクライアントのドキュメントを参照してください |
同じ C4D_MCP_* 変数は Cinema 4D の起動環境にも設定する必要があります — ブリッジプラグインは C4D の起動時にこれらを読み取ります。macOS: open -a "Cinema 4D" --env C4D_MCP_TOKEN=...(または起動前にシェルプロファイルで export してください)。Windows: ユーザー環境変数として設定し、C4D を再起動してください。
ブリッジソケットを変更するには、同じ env マップ内の C4D_MCP_TOKEN と並べて C4D_MCP_PORT(および任意で C4D_MCP_HOST — セキュリティを参照)を設定し、さらに C4D の起動環境にも設定してください。
ツール
17 グループにわたる 72 のツール。LLM はプロンプトに基づいて自らツールを選択します — 直接呼び出すことはほとんどありません。ツールごとの説明を含む完全な表については docs/TOOLS.md を参照してください。
| グループ | 数 | 内容 |
|---|---|---|
| 基本 | 4 | ping、render、preview_render(ビューポートレンダラー + 定数ライン、インライン PNG を返す)、reset_scene。 |
| スクリプトスタイル | 5 | exec_python(オプトイン)、call_command、list_plugins、undo、batch — エスケープハッチ + アンドゥでグループ化されたマルチオペレーション。 |
| 汎用 CRUD | 9 | list_entities、describe、get_params/set_params、get_container、dump_shader、create_entity、remove_entity、set_keyframe。 |
| ショットセットアップ | 11 | ドキュメントの状態、fps / フレーム範囲 / カメラ、import_scene(マージ)、RenderData + Take、take_override、タイムラインマーカー(create_marker / list_markers / set_marker / remove_marker)、sample_transform。 |
| 選択 · 階層 | 4 | アクティブな選択の読み取り / 書き込み、親子付け、並べ替え、クローン。 |
| モデリング · メッシュ | 4 | modeling_command(CSO / Make Editable / Connect / Subdivide / …)、get_mesh、set_mesh、set_mesh_selection。 |
| ドキュメント I/O | 6 | save_document、open_document、new_document、list_documents、set_active_document(すでに開いているドキュメント間の切り替え)、close_document(未保存の変更に対して強制ゲート付き)。 |
| ノードグラフ | 10 | ノードマテリアルグラフ(走査 / アセット列挙 / apply_graph_description / ポート単位の編集 / 削除)および Xpresso(GvNodeMaster)グラフ(list_xpresso_nodes / apply_xpresso_graph / set_xpresso_port / remove_xpresso_node)。 |
| タグヘルパー · アニメーション | 5 | assign_material、list_tracks、get_keyframes、delete_keyframe、delete_track。 |
| トランスフォーム · ユーザーデータ · MoGraph | 5 | set_transform、add_user_data / list_user_data / remove_user_data、list_mograph_clones。 |
| レイヤー | 5 | 列挙、作成、割り当て、クエリ、フラグの切り替え(ソロ / 表示 / レンダリング / ロック / …)。 |
| インスタンス(オプトイン) | 4 | list_instances、set_active_instance、launch_instance、stop_instance — 1 つのサーバーから複数の Cinema 4D プロセスを操作します。C4D_MCP_ENABLE_MULTIINSTANCE=1 でない限り非表示です。 |
エンティティハンドル
すべての CRUD ツールは、型付きの handle オブジェクトによってエンティティを識別します。リゾルバーは名前が曖昧な場合に例外を発生させます。シーン内に重複が含まれる場合は path を優先してください。
| Kind | Shape |
|---|---|
object | {kind:"object", name:"Cube"} または {kind:"object", path:"/Root/Character/Hip"} |
render_data | {kind:"render_data", name:"VFX_Shot002"} |
take | {kind:"take", name:"VFX_Shot002"} |
material | {kind:"material", name:"Concrete"} |
tag | {kind:"tag", object:"Cube", type_id:1029524, tag_name?:"..."}(object の代わりに object_path も可) |
video_post | {kind:"video_post", render_data:"VFX_Shot002", type_id:1029525} |
shader | {kind:"shader", owner:<handle>, name?:"Layer 0"} または {..., index:0} |
plugin_options | {kind:"plugin_options", plugin_id:"abc"|1028082, plugin_type?:"scene_saver"} — エクスポーター / インポーターのプライベート設定 BC |
name による検索は厳密です。複数のエンティティが同じ名前を共有している場合、ブリッジは最大 5 件の候補パスを列挙したエラーを返すので、パスベースのハンドルに切り替えることができます。create_entity は常に新しく解決されたハンドルを返します(オブジェクトには path が含まれ、シェーダーには name と index の両方が含まれます)。これにより、連鎖した編集が安定して行えます。
ブリッジプラグインのインストール
Releases から最新の cinema4d_mcp_bridge-<version>.zip を取得し、その中の cinema4d_mcp_bridge/ フォルダーを Cinema 4D のプラグインディレクトリに展開してください。
| OS | 一般的なプラグインディレクトリ |
|---|---|
| Windows | %APPDATA%\Maxon\Maxon Cinema 4D <VERSION>\plugins\ |
| macOS | ~/Library/Preferences/Maxon/Maxon Cinema 4D <VERSION>/plugins/ |
Cinema 4D の Preferences → Plugins → Add からカスタム検索パスを登録し、代わりにそこへ zip を展開することもできます。
展開後に Cinema 4D を起動(または再起動)してください。プラグインは C4D の再起動時にのみ再読み込みされます。
プラグインのバージョンは、実行する npm パッケージのバージョンに固定しておいてください。バージョンが一致しない場合、ブリッジのログに unknown command: <tool> として現れます。代わりに開発用チェックアウトを実行したい場合は、CONTRIBUTING.md を参照してください。
メモ
公式リリースは次の 2 か所からのみ提供されます: npm パッケージ
@kumoproductions/mcp-cinema4dと、kumoproductions/mcp-cinema4d 配下の GitHub Releases ページです。このプラグインであると主張する zip やスコープ付き npm パッケージを他の場所から入手した場合は、信頼できないものとして扱ってください。
設定
| 変数 | 側 | デフォルト | 備考 |
|---|---|---|---|
C4D_MCP_HOST | 両方 | 127.0.0.1 | TCP ブリッジのホスト。従来のエイリアス: C4D_BRIDGE_HOST (Node)、C4D_MCP_BRIDGE_HOST (プラグイン)。 |
C4D_MCP_PORT | 両方 | 18710 | TCP ブリッジのポート。従来のエイリアス: C4D_BRIDGE_PORT、C4D_MCP_BRIDGE_PORT。 |
C4D_MCP_ENABLE_EXEC_PYTHON | 両方 | 未設定 | オプトイン。 両側で 1 (または true/yes/on) に設定すると、exec_python ツールが公開されます。セキュリティを参照してください。 |
C4D_MCP_ENABLE_PYTHON_OPS | C4D プラグイン | 未設定 | オプトイン。 1 に設定すると、Python を含むプラグインタイプ (Python タグ、Python ジェネレーター、MoGraph Python エフェクター、Python フィールド (Fpython、440000277)、Xpresso Python オペレーター) の作成・編集が許可されます。デフォルトではオフです — これらのコードパラメーターは exec_python と同等の RCE を持ちます。 |
C4D_MCP_TOKEN | 両方 | 未設定 | 共有シークレット。C4D 側で設定した場合、Node クライアントは同じ値を送信する必要があります。強く推奨します。 |
C4D_MCP_ALLOW_REMOTE | C4D プラグイン | 未設定 | C4D_MCP_HOST を非ループバックインターフェースにバインドするために必要です。それ以外の場合、ブリッジは起動を拒否します。 |
C4D_MCP_ENABLE_MULTIINSTANCE | MCP サーバー | 未設定 | オプトイン。 1 に設定すると、インスタンスツール (list_instances、set_active_instance、launch_instance、stop_instance) が公開され、他のすべてのツールにオプションの instance 引数が追加されます。複数の Cinema 4D インスタンスを参照してください。 |
C4D_MCP_EXE | MCP サーバー | 自動検出 | launch_instance 用の Cinema 4D 実行ファイル。デフォルトでは C:\Program Files\Maxon Cinema 4D <ver> (Windows) または /Applications/Maxon Cinema 4D <ver> (macOS) の下にある最新のインストール先になります。 |
C4D_MCP_MAX_INSTANCES | MCP サーバー | 3 | プライマリを含むインスタンススロット。インスタンス id は C4D_MCP_PORT + id で待ち受けます。 |
複数の Cinema 4D インスタンス
デフォルトでは無効です。MCP サーバーで C4D_MCP_ENABLE_MULTIINSTANCE=1 を設定すると、1 つのサーバーから複数の Cinema 4D プロセスを操作できます。たとえば、プライマリのシーンをそのままにしておきながら、負荷の高いテストレンダリング用のスクラッチインスタンスを起動できます。
list_instancesは到達可能なすべてのインスタンスを表示します。インスタンス0はプライマリ (C4D_MCP_PORT) で、それ以外はC4D_MCP_PORT + idで動作するため、ID はサーバーの再起動をまたいでも安定し、以前のセッションで起動したインスタンスも再び認識されます。launch_instanceは、g_allowParallelInstance=true(Cinema 4D 自体の「1 インストールにつき 1 インスタンス」というルールを解除するスイッチ)、独自のブリッジポート、およびサーバーの環境 (トークンやオプトインを含む) を使って別の Cinema 4D を起動します。コールドスタートには 1〜2 分かかり、インスタンスごとに数 GB の RAM を消費します。C4D_MCP_MAX_INSTANCESが合計数 (デフォルトは 3、プライマリを含む) を制限します。- その他すべてのツールに、オプションの
instance引数が追加されます。これを指定しない呼び出しは、アクティブなインスタンス (set_active_instance) に送られます。異なるインスタンスに対して並列で呼び出しを行う場合は、instanceを明示的に指定してください。アクティブなインスタンスはセッション間で共有される状態です。 stop_instanceはセカンダリインスタンスを終了し、保存されていないドキュメントは破棄されます。インスタンス0を対象にすることはありません。また、ブリッジがquitを受け付けるのは、_それ自体の_環境でC4D_MCP_ENABLE_MULTIINSTANCEが設定されている場合のみです。これは起動されたインスタンスでは真ですが、自分で起動した Cinema 4D では真ではありません。- サーバーが起動したインスタンスは、サーバーの終了後も動作し続けます。すべてのインスタンスは 1 つの環境設定フォルダーを共有し、最後に終了したインスタンスが環境設定を書き込みます。スクラッチインスタンスで設定を変更するのは避けてください。
セキュリティ
exec_python がなくても、多くのツールは状態を変更します: call_command、set_params、import_scene、render、remove_entity、save_document、open_document、new_document。ブリッジはサンドボックスではなく、ローカルシェルのように扱ってください。
exec_pythonはオプトインです。 これは Cinema 4D のメインスレッド上で無制限の Python を実行します(ファイル I/O、サブプロセス、ネットワーク)。MCP サーバープロセスと Cinema 4D プロセスの両方でC4D_MCP_ENABLE_EXEC_PYTHON=1が設定されていない限り、ブリッジによって隠蔽され、拒否されます。不要になったら必ずオフに戻してください。設定しっぱなしにすることが事故を招きます。- Python を含むプラグインタイプもオプトインです。 Python タグ(
Tpython)、Python ジェネレーター(Opython)、MoGraph Python エフェクター、Python フィールド(Fpython)、および Xpresso Python オペレーターは、いずれも呼び出し側が提供したソースコードをコンテナに保存し、シーン評価時に実行します。つまり、exec_pythonと同等の RCE です。Cinema 4D 側でC4D_MCP_ENABLE_PYTHON_OPS=1が設定されていない限り、ブリッジはこれらのタイプを対象とするcreate_entity、set_params、apply_xpresso_graph、take_override操作を拒否します。既存インスタンスの一覧表示/読み取り/削除は影響を受けません。 - 共有シークレットトークン(
C4D_MCP_TOKEN)を設定してください。 ローカルホストは信頼境界ではありません。そうしないと、あなたのユーザーとして実行されている任意のローカルプロセスが接続できてしまいます。JSON スニペットについてはクライアント設定を参照してください。 - デフォルトはループバック+リモートはオプトイン。 ブリッジはデフォルトで
127.0.0.1にバインドします。C4D_MCP_HOSTを非ループバックインターフェースにバインドする場合、C4D_MCP_ALLOW_REMOTE=1も設定されていない限り起動を拒否します。1 文字のタイプミス(0.0.0.0)で C4D が LAN に公開されることを防ぎます。 - マルチインスタンスモードはプロセスを起動します。
C4D_MCP_ENABLE_MULTIINSTANCE=1の場合、launch_instanceは Cinema 4D の実行ファイルを起動します。バイナリはC4D_MCP_EXEまたはデフォルトのインストール場所からのみ取得され、ツールの引数から取得されることは決してありません。また、新しいプロセスはサーバーの環境を継承するため、トークンおよびすべてのC4D_MCP_ENABLE_*オプトインがそのプロセスにも適用されます。デフォルトではオフです。 - 信頼できる MCP クライアントのみを接続してください。 ツール使用権限を確認し、状態を変更するツール(特にオプトインしている場合は
exec_python)が自動承認されないようにしてください。 - シーンコンテンツを介した間接的なプロンプトインジェクション。 シーンデータ(オブジェクト名、パラメーター文字列、インポートされたファイルパス)は、
list_entities/describe/get_container/dump_shader/get_meshを通じて LLM に返されます。exec_pythonが有効な場合、シーン内の悪意のある文字列がモデルを操って任意の Python を実行させることがあります。exec_pythonがオンの間は、信頼できない.c4d/.fbx/.abcファイルに対してimport_sceneを実行しないでください。また、exec_python/call_command/save_document/import_sceneは一括承認するのではなく、MCP クライアントの呼び出しごとの承認に頼ってください。 - 監査ログ。 すべての
exec_python呼び出しは、事後レビューのためにコード本体をローカルブリッジログ(Windows では%TEMP%/cinema4d_mcp_bridge.log、macOS では$TMPDIR/cinema4d_mcp_bridge.log)に記録します。ログは追記専用でローテーションはありません。大きくなったら手動で整理してください。
export C4D_MCP_TOKEN="$(openssl rand -hex 16)" # set in C4D launch env too
npx -y @kumoproductions/mcp-cinema4d
トラブルシューティング
| 症状 | 考えられる原因 / 対処 |
|---|---|
Cannot connect to Cinema 4D bridge at 127.0.0.1:18710 | C4D が起動していない、プラグインが読み込まれていない、またはファイアウォールが localhost をブロックしています。C4D のコンソールで listening on … の行を確認し、%TEMP%/cinema4d_mcp_bridge.log (Windows) / $TMPDIR/cinema4d_mcp_bridge.log (macOS) を確認してください。 |
プラグインは読み込まれるが listening の行が出力されない | 通常は cinema4d_mcp_bridge.pyp 内の Python インポートエラーです。C4D のコンソールを確認してください。よくある原因は、古いインストールの残存ファイルです。インストール先フォルダーを削除し、最新リリースの zip を再展開してから C4D を再起動してください。 |
listening on 127.0.0.1:18710 が OSError: address already in use で失敗する | 別のプロセスがすでにそのポートを使用しています。そのプロセスを終了するか、C4D_MCP_PORT (C4D 側) および MCP サーバーの起動コマンドに同じ値を設定してください。 |
unknown command: <tool> | ブリッジプラグインが npm パッケージより古いです。一致するリリースの zip をダウンロードし、プラグインフォルダーに再展開して、C4D を再起動してください。 |
object name '…' is ambiguous | 2 つ以上のシーンオブジェクトが同じ名前を共有しています。パスベースのハンドルを使用してください: {kind:"object", path:"/A/B/C"}。候補のパスはエラーに含まれています。 |
exec_python is disabled on this C4D instance | exec_python はデフォルトで無効です。Cinema 4D の起動環境 および MCP サーバーの env マップの 両方 で C4D_MCP_ENABLE_EXEC_PYTHON=1 を設定し、C4D を再起動してください。詳細はセキュリティを参照してください。 |
requires C4D_MCP_ENABLE_PYTHON_OPS=1 … | Python を含むエンティティ (Python タグ、Python ジェネレーター、MoGraph Python エフェクター、Python フィールド、Xpresso Python オペレーター) を作成または編集しようとしました。デフォルトでは無効です。Cinema 4D の起動環境で C4D_MCP_ENABLE_PYTHON_OPS=1 を設定して再起動してください。 |
まだ解決しませんか? ブリッジログ、OS、Cinema 4D のバージョン、失敗したツール呼び出しを添えて issue を作成してください。
既知の制限事項
modeling_command make_editableは Cinema 4D 2026 では信頼性が低いです。 SDK のSendModelingCommandにおけるMCOMMAND_MAKEEDITABLEの扱いはビルドごとに変化します。新しいポリゴンオブジェクトを返すこともあれば、置換オブジェクトを挿入せずにソースを削除することもあります。ポリゴンのコピーを確実に取得したい場合は、代わりにcurrent_state_to_objectを使用してください(ブリッジが結果を挿入し、そのハンドルを返します)。list_graph_node_assetsは空のリストを返すことがあります。 Maxon のアセットリポジトリが通常のクエリパスを通じてノードテンプレートアセットを公開しないビルドで発生します。ツール自体は形状どおりの出力とともにsupported: trueを返します。空のassets配列は「この C4D ビルドでは検出を利用できない」と解釈し、すでに把握している$typeアセット ID(たとえば既存のマテリアルに対するlist_graph_nodesから取得したもの)を渡してください。- ノードマテリアルのフレンドリ名はビルドによって異なります。
apply_graph_descriptionは Maxon がドキュメント化している宣言的な$type文字列(例:"Standard Material")を受け付けますが、リゾルバーは 2024 / 2025 / 2026 のビルド間で挙動が異なります。判断に迷う場合は、list_graph_node_assets/list_graph_nodesが返す完全修飾されたアセット ID を渡してください。 - クラシックシェーダーのフィクスチャを用意する唯一の方法は
exec_pythonです。 一部の E2E テスト(dump_shader向け)は、シェーダーツリーを構築してからアサートする必要があるため、両側でC4D_MCP_ENABLE_EXEC_PYTHONが設定されていない場合はクリーンにスキップされます。ツール自体はexec_pythonを必要としません。 - 古い Cinema 4D バージョンはテストされていません。 CI + E2E スイートは C4D 2026 を対象としています。ブリッジは任意の SDK 定数を
getattrのフォールバックで保護しているため、ほとんどのツールは 2024 / 2025 でもおそらく動作しますが、それを検証しておらず、2026 で再現しないバグ報告は受け付けません。
コントリビューション
セットアップ、開発サイクル、新しいツールの追加方法、コーディングスタイル、PR の流れについては CONTRIBUTING.md を参照してください。
ライセンス
MIT © 2026 kumo.productions, Inc.
商標
Cinema 4D® および Maxon® は Maxon Computer GmbH の商標です。本プロジェクトは独立した非公式のツールであり、Maxon とは提携しておらず、承認も受けていません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。