
Mcp Cinema4d
io.github.kumoproductions由 GitHub 账号 kumoproductions 发布v0.5.1更新于 Oct 24, 2026
MCP server for Cinema 4D — entity CRUD, parameter-level access, batched undo, security controls.
概览
把 MCP 客户端连接到正在运行的 Cinema 4D 2026 会话,让助手通过类型化、可撤销的工具检查场景、搭建镜头、材质与绑定。
- 可以做什么
- 检查与编辑场景实体:列出、描述、读取和设置参数,创建和删除对象、标签、材质、Take 与图层
- 搭建镜头:文档状态、帧率与帧范围、摄像机、RenderData 与 Take、时间线标记、变换
- 构建节点图:节点材质与 Xpresso 图、按端口编辑,以及网格与建模命令
- 管理动画与文档:关键帧与轨道,保存、打开、新建、关闭和切换文档,渲染与预览渲染
- 应急通道:执行 Cinema 4D 命令、批量撤销分组操作,并可选执行 Python 或驱动多个 Cinema 4D 实例
- 适用场景
- 适用于使用 Cinema 4D 2026.0–2026.3(尚无内置 MCP 服务器)、需要在一个会话中驱动多个 Cinema 4D 进程,或希望使用可审计的开源桥接的场景。2026.4 及以后建议先用 Maxon 内置服务器。
- 运行要求
- 需要运行中的 Cinema 4D 2026.0 或更高版本,以及 Node.js 24 或更高版本以运行 npm 包。还需把独立的 Python 桥接插件解压到 Cinema 4D 插件目录并重启 Cinema 4D,插件与包版本必须一致。可选环境变量需在两端设置:C4D_MCP_TOKEN、C4D_MCP_HOST、C4D_MCP_PORT,以及开关 C4D_MCP_ENABLE_EXEC_PYTHON、C4D_MCP_ENABLE_PYTHON_OPS、C4D_MCP_ENABLE_MULTIINSTANCE。
安装
在 SourceWeft 中
- 打开 控制台中的 Mcp Cinema4d,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
mcp-cinema4d
[CI] [License: MIT] [Node] [Cinema 4D]
Let an LLM drive Cinema 4D. mcp-cinema4d bridges MCP-compatible clients (Claude Desktop, Claude Code, or any other stdio-capable MCP client) to a running Cinema 4D 2026 session so the model can inspect scene hierarchy, author shots, build node materials, and rig animation through a typed, undo-safe tool layer — not arbitrary Python pasted into a Script Manager.
[!IMPORTANT] Cinema 4D now ships an official MCP server. From Cinema 4D 2026.4, Maxon builds an MCP server into Cinema 4D itself: nothing to install, set up from Preferences → MCP, and supported by Maxon. If you run 2026.4 or later and simply want an AI assistant in Cinema 4D, start there — see Maxon's MCP Server page and documentation.
mcp-cinema4d is an independent community project. It remains an option where the built-in server does not fit:
- Cinema 4D 2026.0–2026.3, which have no built-in server.
- Several Cinema 4D processes from one session (multi-instance mode), which the built-in server's documentation does not cover.
- Open source — read, audit, or extend the tools and the bridge yourself.
Do not register both servers in the same client. Their tool sets overlap (both expose
exec_python, for example), so the model is offered two competing sets of Cinema 4D tools. Maxon's FAQ likewise asks you to switch third-party servers off while you use the built-in one.
Good for:
- Scene audits — "List every object on the
herolayer; flag any with non-uniform scale or missing Texture tags." - Shot setup — "Create a 1920×1080 RenderData, a camera at (0, 150, -400), and a Take that uses both."
- Material work — "Build a Redshift node material with a noise texture driving roughness at 0.4 gain."
- Procedural edits — "On every Subdivision Surface in the scene, reduce editor/render levels by 1."
- Xpresso rigs — "Build a 3-gear meshing rig where the master gear's pitch radius dynamically drives the others' size and counter-rotation via an Xpresso graph."
[!CAUTION] Do not proceed unless you understand what this does. An LLM with a live connection to Cinema 4D can read your scene, write to it, and (if you opt in) execute arbitrary code on your machine. In concrete terms:
- Your scene data leaves your machine. Object names, hierarchy paths, material/parameter values, imported file paths — whatever the LLM reads via
list_entities/describe/get_container/dump_shader/get_mesh— is forwarded to your chosen LLM provider and may be logged by your MCP client. Under NDA or on unreleased IP? Confirm with your studio/legal team first that the provider's retention policy and your client's logs are acceptable.- The LLM gets write access. It can create, mutate, and delete objects, tags, materials, takes, render data, and layers; import / merge / open / save files; and render. Ctrl/Cmd-Z covers most edits —
save_document,open_document,render, and somecall_commandinvocations do not.- Arbitrary Python is off by default.
exec_pythonruns unrestricted code with the full authority of the Cinema 4D process (file I/O, subprocess, network). Enabled only whenC4D_MCP_ENABLE_EXEC_PYTHON=1is set on both sides; turn it back off when you no longer need it. The same applies to plugin types that store Python source in their container — Python tag, Python generator, MoGraph Python effector, Python field, and the Xpresso Python operator. Creating or editing them is gated behind a separateC4D_MCP_ENABLE_PYTHON_OPS=1opt-in, since their code parameter is RCE-equivalent toexec_python.Before first use: back up (or commit) your scene, start on a throwaway project, and leave your MCP client's per-call approval prompts enabled. See Security before exposing the bridge beyond loopback.
Architecture
Two pieces to install: the MCP server (this npm package, runs as an MCP stdio process) and the bridge plugin (Python, lives inside Cinema 4D). C4D must be running for the bridge to respond.
Quickstart
Assuming you already have Cinema 4D 2026.0.0+ and Node.js 24+.
-
Install the bridge plugin into Cinema 4D (one-off). Download the latest
cinema4d_mcp_bridge-<version>.zipfrom the Releases page and extract thecinema4d_mcp_bridge/folder into your Cinema 4D plugins directory (see Installing the bridge plugin for platform-specific paths). -
Launch (or restart) Cinema 4D. The C4D console should print
[cinema4d_mcp_bridge] listening on 127.0.0.1:18710. -
Smoke-test the MCP server from the CLI:
Then wire it into your MCP client (see Client configuration) and try:
"List every object in the scene, then add a cube named
hero200 units above the origin."
The LLM will call list_entities → create_entity in sequence; you should see a new cube appear in the viewport.
Prefer running from a local checkout? See CONTRIBUTING.md for the source-install flow.
Client configuration
Generate a random token and set it on both the MCP server process (via the client's env map, below) and the Cinema 4D launch environment. The bridge rejects mismatched requests (constant-time compare); the Node client forwards the value automatically. Strongly recommended — localhost is not a trust boundary on a shared workstation.
Register the MCP server in your client with the token in the env map:
The same C4D_MCP_* variables must also be set in the Cinema 4D launch environment — the bridge plugin reads them at C4D startup. macOS: open -a "Cinema 4D" --env C4D_MCP_TOKEN=... (or export in your shell profile before launch). Windows: set as User environment variables and restart C4D.
To change the bridge socket, set C4D_MCP_PORT (and optionally C4D_MCP_HOST — see Security) alongside C4D_MCP_TOKEN in the same env map, plus the C4D launch env.
Tools
72 tools across 17 groups. The LLM picks tools itself based on the prompt — you rarely invoke them directly. See docs/TOOLS.md for the full table with per-tool descriptions.
Entity handles
Every CRUD tool identifies entities by a typed handle object. The resolver raises on ambiguous names — prefer path when a scene contains duplicates.
name lookups are strict: if several entities share the name, the bridge returns an error listing up to five candidate paths so you can switch to a path-based handle. create_entity always returns the freshly-resolved handle (objects include path; shaders include both name and index) so chained edits stay stable.
Installing the bridge plugin
Grab the latest cinema4d_mcp_bridge-<version>.zip from
Releases
and extract the inner cinema4d_mcp_bridge/ folder into your Cinema 4D plugins
directory:
You can also register a custom search path via Cinema 4D's Preferences → Plugins → Add and extract the zip there instead.
Launch (or restart) Cinema 4D after extracting. The plugin only reloads when C4D restarts.
Keep the plugin version pinned to the npm package version you run — a version mismatch surfaces as unknown command: <tool> in the bridge log. See CONTRIBUTING.md if you want to run a development checkout instead.
[!NOTE] Official releases only come from two places: the npm package
@kumoproductions/mcp-cinema4dand the GitHub Releases page under kumoproductions/mcp-cinema4d. If you obtained a zip or a scoped npm package from anywhere else claiming to be this plugin, treat it as untrusted.
Configuration
Multiple Cinema 4D instances
Off by default. Set C4D_MCP_ENABLE_MULTIINSTANCE=1 on the MCP server to drive several Cinema 4D processes from one server — e.g. a scratch instance for a heavy test render while the primary scene stays untouched.
list_instancesshows every reachable instance. Instance0is the primary (C4D_MCP_PORT); the others live onC4D_MCP_PORT + id, so ids stay stable across server restarts and instances a previous session launched are picked up again.launch_instancestarts another Cinema 4D withg_allowParallelInstance=true(Cinema 4D's own switch that lifts its one-instance-per-installation rule), its own bridge port, and the server's environment — token and opt-ins included. A cold start takes 1–2 minutes and several GB of RAM per instance;C4D_MCP_MAX_INSTANCEScaps the total (default 3, primary included).- Every other tool gains an optional
instanceargument. Calls without it go to the active instance (set_active_instance). When issuing calls in parallel against different instances, passinstanceexplicitly — the active instance is shared session state. stop_instancequits a secondary instance, discarding its unsaved documents. It never targets instance0, and the bridge only honoursquitwhenC4D_MCP_ENABLE_MULTIINSTANCEis set in its own environment — true for launched instances, not for a Cinema 4D you started yourself.- Instances launched by the server keep running when the server exits. All instances share one preferences folder, and the last one to quit writes the preferences — avoid changing settings in scratch instances.
Security
Even without exec_python, many tools mutate state: call_command, set_params, import_scene, render, remove_entity, save_document, open_document, new_document. Treat the bridge like a local shell, not a sandbox.
exec_pythonis opt-in. It runs unrestricted Python on Cinema 4D's main thread (file I/O, subprocess, network). Hidden and rejected by the bridge unlessC4D_MCP_ENABLE_EXEC_PYTHON=1is set on both the MCP server process and the Cinema 4D process. Turn it back off when you no longer need it — set-and-forget is how accidents happen.- Python-bearing plugin types are opt-in too. Python tag (
Tpython), Python generator (Opython), MoGraph Python effector, Python field (Fpython), and the Xpresso Python operator all store caller-supplied source code in their container and run it on scene evaluation — i.e. they are RCE-equivalent toexec_python. The bridge refusescreate_entity,set_params,apply_xpresso_graph, andtake_overrideoperations targeting these types unlessC4D_MCP_ENABLE_PYTHON_OPS=1is set on the Cinema 4D side. Listing / reading / removing existing instances is unaffected. - Set a shared-secret token (
C4D_MCP_TOKEN). Localhost is not a trust boundary — any local process running as your user can otherwise connect. See Client configuration for the JSON snippet. - Loopback default + remote opt-in. The bridge binds to
127.0.0.1by default. BindingC4D_MCP_HOSTto a non-loopback interface refuses to start unlessC4D_MCP_ALLOW_REMOTE=1is also set — guarding against a one-character typo (0.0.0.0) exposing C4D to the LAN. - Multi-instance mode spawns processes. With
C4D_MCP_ENABLE_MULTIINSTANCE=1,launch_instancestarts Cinema 4D executables. The binary comes only fromC4D_MCP_EXEor the default install location — never from tool arguments — and the new process inherits the server's environment, so the token and everyC4D_MCP_ENABLE_*opt-in apply to it as well. Off by default. - Only connect MCP clients you trust. Review their tool-use permissions so mutating tools (especially
exec_pythonif opted in) are not auto-approved. - Indirect prompt injection via scene content. Scene data (object names, parameter strings, imported file paths) flows back to the LLM through
list_entities/describe/get_container/dump_shader/get_mesh. Whenexec_pythonis enabled, a malicious string in a scene can steer the model into running arbitrary Python. Don't runimport_sceneagainst untrusted.c4d/.fbx/.abcfiles whileexec_pythonis on, and rely on your MCP client's per-call approval forexec_python/call_command/save_document/import_scenerather than blanket-approving them. - Audit log. Every
exec_pythoncall records the code body to the local bridge log (%TEMP%/cinema4d_mcp_bridge.logon Windows,$TMPDIR/cinema4d_mcp_bridge.logon macOS) for after-the-fact review. The log is append-only with no rotation — prune it manually if it grows.
Troubleshooting
Still stuck? Open an issue with the bridge log, your OS, Cinema 4D version, and the tool call that failed.
Known limitations
modeling_command make_editableis unreliable on Cinema 4D 2026. The SDK'sSendModelingCommandhandling ofMCOMMAND_MAKEEDITABLEshifts across builds — sometimes it returns the new polygon object, sometimes it removes the source without inserting a replacement. Usecurrent_state_to_objectinstead when you need a guaranteed polygon copy (the bridge inserts the result for you and returns its handle).list_graph_node_assetscan return an empty list on builds where the Maxon asset repository doesn't expose node-template assets through the usual query path. The tool still returnssupported: truewith shape-correct output; treat an emptyassetsarray as "discovery unavailable on this C4D build" and pass$typeasset ids you already know (e.g. fromlist_graph_nodeson an existing material).- Node material friendly names vary.
apply_graph_descriptionaccepts the declarative$typestrings documented by Maxon (e.g."Standard Material"), but the resolver varies between 2024 / 2025 / 2026 builds — when in doubt, pass the fully-qualified asset id returned bylist_graph_node_assets/list_graph_nodesinstead. exec_pythonis the only way to seed classical-shader fixtures. A handful of E2E tests (fordump_shader) need to build a shader tree before asserting on it, so they skip cleanly whenC4D_MCP_ENABLE_EXEC_PYTHONisn't set on both sides. The tools themselves don't requireexec_python.- Older Cinema 4D versions are not tested. The CI + E2E suite targets C4D 2026. The bridge guards optional SDK constants with
getattrfallbacks, so most tools likely work on 2024 / 2025 as well — but we don't verify that and won't accept bug reports that don't reproduce on 2026.
Contributing
See CONTRIBUTING.md for setup, the development loop, how to add a new tool, coding style, and the PR flow.
License
MIT © 2026 kumo.productions, Inc.
Trademarks
Cinema 4D® and Maxon® are trademarks of Maxon Computer GmbH. This project is an independent, unofficial tool, not affiliated with or endorsed by Maxon.
来源:README.md,提交 e1db07b
工具
0版本历史
2- v0.5.1最新Sep 30, 2026
- v0.4.3Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分