Skip to main content
Glama

Cinema4D MCP Server

by ttiimmaacc

Cinema4D MCP — モデルコンテキストプロトコル(MCP)サーバー

Cinema4D MCP サーバーは Cinema 4D を Claude に接続し、プロンプトによる 3D 操作を可能にします。

目次

コンポーネント

  1. C4D プラグイン: MCP サーバーからのコマンドをリッスンし、Cinema 4D 環境で実行するソケット サーバー。

  2. MCP サーバー: MCP プロトコルを実装し、Cinema 4D 統合用のツールを提供する Python サーバー。

前提条件

  • Cinema 4D(R2024+推奨)

  • Python 3.10 以上 (MCP サーバー コンポーネント用)

インストール

プロジェクトをインストールするには、次の手順に従います。

リポジトリのクローンを作成する

git clone https://github.com/ttiimmaacc/cinema4d-mcp.git cd cinema4d-mcp

MCP サーバー パッケージをインストールする

pip install -e .

ラッパースクリプトを実行可能にする

chmod +x bin/cinema4d-mcp-wrapper

設定

Cinema 4Dプラグインのセットアップ

Cinema 4D プラグインを設定するには、次の手順に従います。

  1. プラグインファイルのコピーc4d_plugin/mcp_server_plugin.pypファイルをCinema 4Dのプラグインフォルダにコピーします。パスはオペレーティングシステムによって異なります。

    • macOS: /Users/USERNAME/Library/Preferences/Maxon/Maxon Cinema 4D/plugins/

    • Windows: C:\Users\USERNAME\AppData\Roaming\Maxon\Maxon Cinema 4D\plugins\

  2. ソケットサーバーを起動します:

    • Cinema 4Dを開きます。

    • 拡張機能 > ソケットサーバープラグインに移動します

    • ソケットサーバーコントロールのダイアログウィンドウが表示されます。「サーバーを起動」をクリックします。

クロードデスクトップ構成

Claude Desktop を構成するには、構成ファイルを変更する必要があります。

  1. 設定ファイルを開きます:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • または、Claude Desktop の [設定] メニュー ([設定] > [開発者] > [構成の編集]) を使用します。

  2. MCP サーバー構成の追加: 開発/非公開サーバーの場合は、次の構成を追加します。

    "mcpServers": { "cinema4d": { "command": "python3", "args": ["/Users/username/cinema4d-mcp/main.py"] } }
  3. 設定ファイルを更新した後、 Claude Desktop を再起動します

{ "mcpServers": { "cinema4d": { "command": "cinema4d-mcp-wrapper", "args": [] } } }

使用法

  1. Cinema 4D ソケット サーバーが実行されていることを確認します。

  2. Claude Desktop を開き、入力ボックスで MCP ツールが利用可能であることを示すハンマー アイコン 🔨 を探します。

  3. 利用可能なツール コマンドを使用して、Claude を通じて Cinema 4D を操作します。

テスト

コマンドラインテスト

コマンドラインから Cinema 4D ソケット サーバーを直接テストするには:

python main.py

サーバーの正常な起動と Cinema 4D への接続を確認する出力が表示されます。

MCPテストハーネスによるテスト

リポジトリには、事前定義されたコマンド シーケンスを実行するためのシンプルなテスト ハーネスが含まれています。

  1. テストコマンドファイル( tests/mcp_test_harness.jsonl ): 順番に実行できるJSONL形式のコマンドシーケンスが含まれています。各行は、パラメータを含む単一のMCPコマンドを表します。

  2. GUI テスト ランナー( tests/mcp_test_harness_gui.py ): テスト コマンドを実行するためのシンプルな Tkinter GUI:

    python tests/mcp_test_harness_gui.py

    GUI を使用すると次のことが可能です。

    • JSONLテストファイルを選択

    • コマンドを順番に実行する

    • Cinema 4Dからの回答を見る

このテストハーネスは、特に次の場合に役立ちます。

  • 新しいコマンドを迅速にテストする

  • アップデート後のプラグインの機能の検証

  • デバッグのために複雑なシーンを再現する

  • 異なるCinema 4Dバージョン間の互換性テスト

トラブルシューティングとデバッグ

  1. ログファイルを確認します:

    tail -f ~/Library/Logs/Claude/mcp*.log
  2. Claude Desktop を開いた後、Cinema 4D のコンソールに接続が表示されていることを確認します。

  3. ラッパー スクリプトを直接テストします。

    cinema4d-mcp-wrapper
  4. mcp モジュールを見つける際にエラーが発生する場合は、システム全体にインストールします。

    pip install mcp
  5. 高度なデバッグには、 MCP Inspectorを使用します。

    npx @modelcontextprotocol/inspector uv --directory /Users/username/cinema4d-mcp run cinema4d-mcp

プロジェクトファイルの構造

cinema4d-mcp/ ├── .gitignore ├── LICENSE ├── README.md ├── main.py ├── pyproject.toml ├── setup.py ├── bin/ │ └── cinema4d-mcp-wrapper ├── c4d_plugin/ │ └── mcp_server_plugin.pyp ├── src/ │ └── cinema4d_mcp/ │ ├── __init__.py │ ├── server.py │ ├── config.py │ └── utils.py └── tests/ ├── test_server.py ├── mcp_test_harness.jsonl └── mcp_test_harness_gui.py

ツールコマンド

一般的なシーンと処刑

  • get_scene_info : アクティブな Cinema 4D シーンの概要情報を取得します。✅

  • list_objects : すべてのシーンオブジェクトを(階層とともに)一覧表示します。✅

  • group_objects : 選択したオブジェクトを新しいヌルの下にグループ化します。✅

  • execute_python : Cinema 4D 内でカスタム Python コードを実行します。✅

  • save_scene : 現在の Cinema 4D プロジェクトをディスクに保存します。✅

  • load_scene : .c4dファイルをシーンに読み込みます。✅

  • set_keyframe : オブジェクトのプロパティ(位置、回転など)にキーフレームを設定します。✅

オブジェクトの作成と変更

  • add_primitive : シーンにプリミティブ(立方体、球、円錐など)を追加します。✅

  • modify_object : 既存のオブジェクトの変換または属性を変更します。✅

  • create_abstract_shape : 有機的で非標準の抽象的なフォームを作成します。✅

カメラとアニメーション

  • create_camera : シーンに新しいカメラを追加します。✅

  • animate_camera : パス(線形またはスプラインベース)に沿ってカメラをアニメーション化します。✅

照明と素材

  • create_light : シーンにライト(オムニ、スポットなど)を追加します。✅

  • create_material : 標準の Cinema 4D マテリアルを作成します。✅

  • apply_material : ターゲットオ���ジェクトにマテリアルを適用します。✅

  • apply_shader : スタイル化されたシェーダーまたは手続き型シェーダーを生成して適用します。✅

Redshift サポート

  • validate_redshift_materials : Redshift マテリアルの設定と接続を確認します。✅ ⚠️ (Redshift マテリアルは完全に実装されていません)

MoGraphとフィールド

  • create_mograph_cloner : MoGraph Cloner (線形、放射状、グリッドなど) を追加します。✅

  • add_effector : MoGraph エフェクター(ランダム、プレーンなど)を追加します。✅

  • apply_mograph_fields : MoGraph フィールドをオブジェクトに追加してリンクします。✅

力学と物理学

  • create_soft_body : オブジェクトにソフトボディタグを追加します。✅

  • apply_dynamics : リジッドボディまたはソフトボディの物理特性を適用します。✅

レンダリングとプレビュー

  • render_frame : フレームをレンダリングしてディスクに保存します (ファイルベースの出力のみ)。⚠️ (動作しますが、解像度が大きい場合は MemoryError: Bitmap Init failed のため失敗します。これはリソースの制限です。)

  • render_preview : クイックプレビューをレンダリングし、base64 イメージを返します (AI 用)。✅

  • snapshot_scene : シーンのスナップショット(オブジェクト + プレビュー画像)をキャプチャします。✅

互換性計画とロードマップ

Cinema 4Dバージョン

Pythonバージョン

互換性ステータス

注記

R21 / S22

Python 2.7

❌ サポートされていません

レガシーAPIとPythonのバージョンが古すぎる

R23

Python 3.7

🔍 計画なし

現在テストされていません

S24 / R25 / S26

Python 3.9

⚠️ 可能性あり(未定)

不足しているAPIのテストとフォールバックが必要

2023.0 / 2023.1

Python 3.9

🧪 進行中

コア機能のフォールバックサポートをターゲットとする

2023.2

Python 3.10

🧪 進行中

計画されたテストベースと整合

2024.0

Python 3.11

✅ サポートされています

検証済み

2025.0以降

Python 3.11

✅ 完全サポート

主な開発目標

互換性の目標

  • 短期:C4D 2023.1+(Python 3.9および3.10)との互換性を確保する

  • 中期: 不足している MoGraph および Field API の条件付き処理を追加する

  • 長期的: 需要があれば、R23~S26 のサポート用にオプションのレガシープラグインモジュールを検討します。

最近の修正

  • コンテキスト認識:GUIDを用いた堅牢なオブジェクト追跡を実装しました。オブジェクトを作成するコマンドはコンテキスト(GUID、actual_nameなど)を返します。後続のコマンドは、テストハーネス/サーバーから渡されたGUIDを正しく使用して、オブジェクトを確実に検出します。

  • オブジェクトの検索: find_object_by_name を再構築して GUID (数値文字列形式) を正しく処理できるようにし、再帰エラーを修正し、doc.SearchObject が失敗した場合の信頼性を向上しました。

  • GUID 検出: コマンド ハンドラー (apply_material、create_mograph_cloner、add_effector、apply_mograph_fields、set_keyframe、group_objects) は、さまざまなパラメーター (object_name、target、target_name、list items) で渡された識別子が GUID であるかどうかを正しく検出し、それに応じて検索するようになりました。

  • create_mograph_cloner: getattr フォールバックを使用することで、MoGraph パラメータ(MG_LINEAR_PERSTEP など)が不足している場合に発生する AttributeError を修正しました。見つかったオブジェクトがクローン作成時に正しく渡されないロジックのバグを修正しました。

  • レンダリング: render_frame の doc.ExecutePasses 関連の TypeError を修正しました。snapshot_scene は、base64 レンダリングロジックを正しく使用するようになりました。大きな render_frame は依然としてメモリ制限に直面します。

  • 登録: c4d.NilGuid の AttributeError を修正しました。

Related MCP Servers

  • A
    security
    F
    license
    A
    quality
    Connects Sketchup to Claude AI through the Model Context Protocol, allowing Claude to directly interact with and control Sketchup for prompt-assisted 3D modeling and scene manipulation.
    Last updated -
    10
    141
    • Apple
  • -
    security
    F
    license
    -
    quality
    Connects Houdini to Claude AI through Model Context Protocol, enabling AI-assisted 3D modeling, scene creation, simulation setup, and rendering through natural language commands.
    Last updated -
    46
    • Apple
    • Linux
  • A
    security
    A
    license
    A
    quality
    Connects Blender to Claude AI through the Model Context Protocol, enabling AI-assisted 3D modeling, scene creation, and manipulation through natural language commands.
    Last updated -
    17
    MIT License
    • Apple
    • Linux
  • A
    security
    A
    license
    A
    quality
    Connects Blender to Claude AI through the Model Context Protocol (MCP), enabling prompt-assisted 3D modeling, scene creation, and manipulation.
    Last updated -
    17
    MIT License
    • Apple

View all related MCP servers

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/ttiimmaacc/cinema4d-mcp'

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