ttiimmaacc cinema4d mcp
by ttiimmaacc
Cinema 4D plugin integrating Claude AI for prompt-driven 3D modeling, scene creation, and manipulation.
What is ttiimmaacc cinema4d mcp
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 (R2024+ recommended)
- Python 3.10 or higher (for the MCP Server component)
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 MCP Server 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:\Users\USERNAME\AppData\Roaming\Maxon\Maxon Cinema 4D\plugins\
- 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%\Claude\claude_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.
{
"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. โ โ ๏ธ (Redshift materials not fully implemented)
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). โ ๏ธ (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). โ
Compatibility Plan & Roadmap
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 |
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
- Context Awareness: Implemented robust object tracking using GUIDs. Commands creating objects return context (guid, actual_name, etc.). Subsequent commands correctly use GUIDs passed by the test harness/server to find objects reliably.
- Object Finding: Reworked find_object_by_name to correctly handle GUIDs (numeric string format), fixed recursion errors, and improved reliability when doc.SearchObject fails.
- GUID Detection: Command handlers (apply_material, create_mograph_cloner, add_effector, apply_mograph_fields, set_keyframe, group_objects) now correctly detect if identifiers passed in various parameters (object_name, target, target_name, list items) are GUIDs and search accordingly.
- create_mograph_cloner: Fixed AttributeError for missing MoGraph parameters (like MG_LINEAR_PERSTEP) by using getattr fallbacks. Fixed logic bug where the found object wasn't correctly passed for cloning.
- Rendering: Fixed TypeError in render_frame related to doc.ExecutePasses. snapshot_scene now correctly uses the working base64 render logic. Large render_frame still faces memory limits.
- Registration: Fixed AttributeError for c4d.NilGuid.
Leave a Comment
Frequently Asked Questions
What is MCP?
MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.
What are MCP Servers?
MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.
How do MCP Servers work?
MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.
Are MCP Servers secure?
Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.
Related MCP Servers
chrisdoc hevy mcp
sylphlab pdf reader mcp
An MCP server built with Node.js/TypeScript that allows AI agents to securely read PDF files (local or URL) and extract text, metadata, or page counts. Uses pdf-parse.
aashari mcp server atlassian bitbucket
Node.js/TypeScript MCP server for Atlassian Bitbucket. Enables AI systems (LLMs) to interact with workspaces, repositories, and pull requests via tools (list, get, comment, search). Connects AI directly to version control workflows through the standard MCP interface.
aashari mcp server atlassian confluence
Node.js/TypeScript MCP server for Atlassian Confluence. Provides tools enabling AI systems (LLMs) to list/get spaces & pages (content formatted as Markdown) and search via CQL. Connects AI seamlessly to Confluence knowledge bases using the standard MCP interface.
prisma prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
Zzzccs123 mcp sentry
mcp sentry for typescript sdk
zhuzhoulin dify mcp server
zhongmingyuan mcp my mac
zhixiaoqiang desktop image manager mcp
MCP ๆๅกๅจ๏ผ็จไบ็ฎก็ๆก้ขๅพ็ใๆฅ็่ฏฆๆ ใๅ็ผฉใ็งปๅจ็ญ๏ผๅฎๅ จ่ฎฉTraeๅฎ็ฐ๏ผ
zhixiaoqiang antd components mcp
An MCP service for Ant Design components query | ไธไธชๅๅฐ Ant Design ็ปไปถไปฃ็ ็ๆๅนป่ง็ MCP ๆๅก๏ผๅ ๅซ็ณป็ปๆ็คบ่ฏใ็ปไปถๆๆกฃใAPI ๆๆกฃใไปฃ็ ็คบไพๅๆดๆฐๆฅๅฟๆฅ่ฏข
Submit Your MCP Server
Share your MCP server with the community
Submit Now