Cinema4D MCP — Model Context Protocol (MCP) Server
Cinema4D MCP Server connects Cinema 4D to Claude, enabling prompt-assisted 3D manipulation.
Table of Contents
- Components
- Prerequisites
- Installation
- Setup
- Usage
- Development
- Troubleshooting & Debugging
- File Structure
- Tool Commands
Components
- C4D Plugin: A socket server that listens for commands from the MCP server and executes them in the Cinema 4D environment.
- MCP Server: A Python server that implements the MCP protocol and provides tools for Cinema 4D integration.
Prerequisites
- Cinema 4D
- Python 3.10 or higher
Development Installation
To install the project, follow these steps:
Clone the Repository
git clone https://github.com/ttiimmaacc/cinema4d-mcp.git
cd cinema4d-mcp
Install the Package
pip install -e .
Make the Wrapper Script Executable
chmod +x bin/cinema4d-mcp-wrapper
Setup
Cinema 4D Plugin Setup
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:- macOS:
/Users/USERNAME/Library/Preferences/Maxon/Maxon Cinema 4D/plugins/
- Windows:
C:UsersUSERNAMEAppDataRoamingMaxonMaxon Cinema 4Dplugins
- macOS:
Start the Socket Server:
- Open Cinema 4D.
- Go to Extensions > Socket Server Plugin
- You should see a Socket Server Control dialog window. Click Start Server.
Claude Desktop Configuration
To configure Claude Desktop, you need to modify its configuration file:
Open the Configuration File:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%Claudeclaude_desktop_config.json
- Alternatively, use the Settings menu in Claude Desktop (Settings > Developer > Edit Config).
- macOS:
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": []
}
}
}
Usage
- Ensure the Cinema 4D Socket Server is running.
- Open Claude Desktop and look for the hammer icon
in the input box, indicating MCP tools are available.
- Use the available Tool Commands to interact with Cinema 4D through Claude.
Testing
Command Line Testing
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.
Testing with MCP Test Harness
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:
- Select a JSONL test file
- Run the commands in sequence
- View the responses from Cinema 4D
This test harness is particularly useful for:
- Rapidly testing new commands
- Verifying plugin functionality after updates
- Recreating complex scenes for debugging
- Testing compatibility across different Cinema 4D versions
Troubleshooting & Debugging
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
Project File Structure
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
Tool Commands
General Scene & Execution
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.).
Object Creation & Modification
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.
Cameras & Animation
create_camera
: Add a new camera to the scene.animate_camera
: Animate a camera along a path (linear or spline-based).
Lighting & Materials
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.
Redshift Support
validate_redshift_materials
: Check Redshift material setup and connections.
MoGraph & Fields
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.
Dynamics & Physics
create_soft_body
: Add a Soft Body tag to an object.apply_dynamics
: Apply Rigid or Soft Body physics.
Rendering & Preview
render_frame
: Render a frame and save it to disk (file-based output only).render_preview
: Render a quick preview and return base64 image (for AI).snapshot_scene
: Capture a snapshot of the scene (objects + preview image).
Compatibility Plan & Roadmap
Cinema 4D Version | Python Version | Compatibility Status | Notes |
---|---|---|---|
R21 / S22 | Python 2.7 | Legacy API and Python version too old | |
R23 | Python 3.7 | Not currently tested | |
S24 / R25 / S26 | Python 3.9 | Requires testing and fallbacks for missing APIs | |
2023.0 / 2023.1 | Python 3.9 | Targeting fallback support for core functionality | |
2023.2 | Python 3.10 | Aligns with planned testing base | |
2024.0 | Python 3.11 | Verified | |
2025.0+ | Python 3.11 | Primary development target |
Compatibility Goals
- Short Term: Ensure compatibility with C4D 2023.1+ (Python 3.9 and 3.10)
- Mid Term: Add conditional handling for missing MoGraph and Field APIs
- Long Term: Consider optional legacy plugin module for R23–S26 support if demand arises
Recent Fixes
- Fixed “Applied to: None” issue with MoGraph fields
- Fixed field hierarchy by inserting directly under target object
- Implemented proper Field Driver tag connection for Cinema 4D 2025.1
- Added multiple field linkage approaches for maximum compatibility
- Enabled ‘Use Fields’ checkbox using multiple parameter IDs
- Fixed field visibility and parent-child relationship issues
- Fixed Grid Cloner creation issue by providing correct parameter IDs
- Fixed MoGraph Fields application by defining proper field type constants
- Improved hierarchical display in list_objects command
- Enhanced cloner visibility and creation reliability
Cinema4D MCP Server
Project Details
- ttiimmaacc/cinema4d-mcp
- Last Updated: 4/14/2025
Recomended MCP Servers
MCP Server for Snyk Security Scanning
A connector for Claude Desktop to read and search an Obsidian vault.
A MCP Server for APK Tool (Part of Android Reverse Engineering MCP Suites)
An MCP server to allow you to debug webpages using LLMs
SketchUp-MCP For AI
Allows AI Agents to interact with the Twilio SendGrid v3 API, managing contact lists, templates, single sends, and...
Global Notion workspace-accessible MCP server for all Notion pages within the workspace
A simple Model Context Protocol (MCP) server for generating memes using the ImgFlip API
Nautobot plugin that enables AI assistants to interact with network data through the Model Context Protocol (MCP).
FEGIS is a framework for structured cognition and persistent memory in language models using Anthropic's Model Context Protocol....
An MCP server that helps you find MCP servers that are listed on PulseMCP.com