Connects Cinema 4D to Claude, enabling AI-assisted 3D modeling and scene manipulation through natural language commands.
Cinema4D MCP Server connects Cinema 4D to Claude, enabling prompt-assisted 3D manipulation.
To install the project, follow these steps:
git clone https://github.com/ttiimmaacc/cinema4d-mcp.git cd cinema4d-mcp
pip install -e .
chmod +x bin/cinema4d-mcp-wrapper
To set up the Cinema 4D plugin, follow these steps:
Copy the Plugin File: Copy the c4d_plugin/mcp_server_plugin.pyp
file to Cinema 4D's plugin folder. The path varies depending on your operating system:
/Users/USERNAME/Library/Preferences/Maxon/Maxon Cinema 4D/plugins/
C:\Users\USERNAME\AppData\Roaming\Maxon\Maxon Cinema 4D\plugins\
Start the Socket Server:
To configure Claude Desktop, you need to modify its configuration file:
Open the Configuration File:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
Add MCP Server Configuration: For development/unpublished server, add the following configuration:
"mcpServers": { "cinema4d": { "command": "python3", "args": ["/Users/username/cinema4d-mcp/main.py"] } }
Restart Claude Desktop after updating the configuration file.
[TODO] For published server
{ "mcpServers": { "cinema4d": { "command": "cinema4d-mcp-wrapper", "args": [] } } }
To test the Cinema 4D socket server directly from the command line:
python main.py
You should see output confirming the server's successful start and connection to Cinema 4D.
The repository includes a simple test harness for running predefined command sequences:
Test Command File (tests/mcp_test_harness.jsonl
): Contains a sequence of commands in JSONL format that can be executed in order. Each line represents a single MCP command with its parameters.
GUI Test Runner (tests/mcp_test_harness_gui.py
): A simple Tkinter GUI for running the test commands:
python tests/mcp_test_harness_gui.py
The GUI allows you to:
This test harness is particularly useful for:
Check the log files:
tail -f ~/Library/Logs/Claude/mcp*.log
Verify Cinema 4D shows connections in its console after you open Claude Desktop.
Test the wrapper script directly:
cinema4d-mcp-wrapper
If there are errors finding the mcp module, install it system-wide:
pip install mcp
For advanced debugging, use the 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
: Get summary info about the active Cinema 4D scene. โ
list_objects
: List all scene objects (with hierarchy). โ
group_objects
: Group selected objects under a new null. โ
execute_python
: Execute custom Python code inside Cinema 4D. โ
save_scene
: Save the current Cinema 4D project to disk. โ
load_scene
: Load a .c4d
file into the scene. โ
set_keyframe
: Set a keyframe on an objects property (position, rotation, etc.). โ
add_primitive
: Add a primitive (cube, sphere, cone, etc.) to the scene. โ
modify_object
: Modify transform or attributes of an existing object. โ
create_abstract_shape
: Create an organic, non-standard abstract form. โ
create_camera
: Add a new camera to the scene. โ
animate_camera
: Animate a camera along a path (linear or spline-based). โ
create_light
: Add a light (omni, spot, etc.) to the scene. โ
create_material
: Create a standard Cinema 4D material. โ
apply_material
: Apply a material to a target object. โ
apply_shader
: Generate and apply a stylized or procedural shader. โ
validate_redshift_materials
: Check Redshift material setup and connections. โ
โ ๏ธ (Redshift materials not fully implemented)create_mograph_cloner
: Add a MoGraph Cloner (linear, radial, grid, etc.). โ
add_effector
: Add a MoGraph Effector (Random, Plain, etc.). โ
apply_mograph_fields
: Add and link a MoGraph Field to objects. โ
create_soft_body
: Add a Soft Body tag to an object. โ
apply_dynamics
: Apply Rigid or Soft Body physics. โ
render_frame
: Render a frame and save it to disk (file-based output only). โ ๏ธ (Works, but fails on large resolutions due to MemoryError: Bitmap Init failed. This is a resource limitation.)render_preview
: Render a quick preview and return base64 image (for AI). โ
snapshot_scene
: Capture a snapshot of the scene (objects + preview image). โ
Cinema 4D Version | Python Version | Compatibility Status | Notes |
---|---|---|---|
R21 / S22 | Python 2.7 | โ Not supported | Legacy API and Python version too old |
R23 | Python 3.7 | ๐ Not planned | Not currently tested |
S24 / R25 / S26 | Python 3.9 | โ ๏ธ Possible (TBD) | Requires testing and fallbacks for missing APIs |
2023.0 / 2023.1 | Python 3.9 | ๐งช In progress | Targeting fallback support for core functionality |
2023.2 | Python 3.10 | ๐งช In progress | Aligns with planned testing base |
2024.0 | Python 3.11 | โ Supported | Verified |
2025.0+ | Python 3.11 | โ Fully Supported | Primary development target |
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!