Cover image
Try Now
2025-03-26

Cinema 4D插件集成了Claude AI,用于及时驱动的3D建模,场景创建和操作。

3 years

Works with Finder

2

Github Watches

2

Github Forks

8

Github Stars

Cinema4D MCP — Model Context Protocol (MCP) Server

Cinema4D MCP Server connects Cinema 4D to Claude, enabling prompt-assisted 3D manipulation.

Table of Contents

Components

  1. C4D Plugin: A socket server that listens for commands from the MCP server and executes them in the Cinema 4D environment.
  2. 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:

  1. 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\
  2. 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:

  1. 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).
  2. Add MCP Server Configuration: For development/unpublished server, add the following configuration:

    "mcpServers": {
      "cinema4d": {
        "command": "python3",
        "args": ["/Users/username/cinema4d-mcp/main.py"]
      }
    }
    
  3. Restart Claude Desktop after updating the configuration file.

[TODO] For published server
{
  "mcpServers": {
    "cinema4d": {
      "command": "cinema4d-mcp-wrapper",
      "args": []
    }
  }
}

Usage

  1. Ensure the Cinema 4D Socket Server is running.
  2. Open Claude Desktop and look for the hammer icon 🔨 in the input box, indicating MCP tools are available.
  3. 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:

  1. 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.

  2. 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

  1. Check the log files:

    tail -f ~/Library/Logs/Claude/mcp*.log
    
  2. Verify Cinema 4D shows connections in its console after you open Claude Desktop.

  3. Test the wrapper script directly:

    cinema4d-mcp-wrapper
    
  4. If there are errors finding the mcp module, install it system-wide:

    pip install mcp
    
  5. 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 ❌ 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

  • 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

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Bora Yalcin
  • Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Alexandru Strujac
  • Efficient thumbnail creator for YouTube videos

  • Callycode Limited
  • A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Khalid kalib
  • Write professional emails

  • Beniyam Berhanu
  • Therapist adept at identifying core issues and offering practical advice with images.

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • apappascs
  • 发现市场上最全面,最新的MCP服务器集合。该存储库充当集中式枢纽,提供了广泛的开源和专有MCP服务器目录,并提供功能,文档链接和贡献者。

  • ShrimpingIt
  • MCP系列GPIO Expander的基于Micropython I2C的操作,源自ADAFRUIT_MCP230XX

  • OffchainLabs
  • 进行以太坊的实施

  • huahuayu
  • 统一的API网关,用于将多个Etherscan样区块链Explorer API与对AI助手的模型上下文协议(MCP)支持。

  • deemkeen
  • 用电源组合控制您的MBOT2:MQTT+MCP+LLM

    Reviews

    5 (1)
    Avatar
    user_ILVbwGEm
    2025-04-16

    cinema4d-mcp by ttiimmaacc is an outstanding tool for any Cinema 4D enthusiast. The integration and functionality it offers significantly enhance workflow efficiency and creativity. The user interface is intuitive, making it a breeze to navigate and utilize. Recommended for both beginners and professionals alike. Check it out at https://github.com/ttiimmaacc/cinema4d-mcp for an impressive addition to your 3D design toolkit!