3dsmax mcp
面向生产的MCP服务器,将AI代理连接到Autodesk 3ds Max。 适用于任何兼容MCP的客户端。
特性
- 本机C++桥 --76个处理程序作为GUP插件在3ds Max中运行,比MAXScript快86-130倍
- 一步式安装程序 —
uv run python install.py处理一切 - 四视图捕捉 --截图速度快,支持多视图。
- 完全默认工具表面 --默认情况下,完整的MCP配置文件会显示核心和专业场景/对象/材质/管道工具
- 全剖面116个工具 跨场景、对象、材质、修改器、控制器、视口、内省。
- 捆绑的MAXScript参考 --10个主题文件,供代理编写正确的MAXScript
建筑
Agent FastMCP (Python/stdio) Named Pipe C++ GUP Plugin 3ds Max SDK
|
+--> TCP:8765 fallback --> MAXScript listener本机网桥作为全局实用程序插件在3ds Max中运行。它直接通过C++SDK读取场景图,并通过Windows命名管道进行通信。76个本地处理程序,用于场景、对象、材质、修改器、控制器、视口、内省等。
需求
- Python 3.10+
- 紫外线
- Autodesk 3ds Max 2026(2024/2025通过MAXScript回退支持)
安装
git clone https://github.com/cl0nazepamm/3dsmax-mcp.git
cd 3dsmax-mcp
uv sync
uv run python install.py更新
git pull
uv sync
uv run python install.py要安装而不复制或构建代理技能文件,请执行以下操作:
uv run python install.py --skip-skillMCP工具配置文件
外部MCP服务器默认为完整配置文件,因此特殊模块 作为数据通道、效果、平面图生成、tyFlow、RailClone、线参数, 无需额外设置,即可使用独立的聊天驱动程序工具。使用核心 只有当你想要一个较小的通用刀具表面时,才需要轮廓。
$env:MCP_TOOL_PROFILE = "core"
python -m src.server技能
技能文件教代理如何使用工具、要避免哪些陷阱以及3ds Max的工作原理。没有它,代理将在材料工作流程、控制器路径和插件API上猜错。安装程序会自动构建和部署它。
然而,与Codex不同,Anthropic模型似乎真的很喜欢使用maxscript而不是使用本地工具,Codex在大多数情况下使用正确的工具。
如果需要手动重建:
python scripts/build_skill.py安全模式
本机网桥和MAXScript侦听器都从共享配置中读取:
%LOCALAPPDATA%\3dsmax-mcp\mcp_config.ini[mcp]
safe_mode = true启用(默认)后,这些命令将被阻止: DOSCommand, ShellLaunch, deleteFile, python.Execute, createFile
要禁用,请设置 safe_mode = false 并重新启动3ds Max。
范围--阅读此
safe_mode 是一个 事故预防器,而不是沙箱。这是一个不区分大小写的子字符串块列表,因此一个有决心的作者(或足够聪明的LLM)可以通过字符串连接、DotNet反射等绕过它。它能捕捉到明显的形状——LLM幻觉 deleteFile → 被拒绝了——不是敌对的MaxScript作者。
这是什么 不 封面:
- 本机C++处理程序未经过滤运行:
delete_objects,manage_scene(重置/新建/打开),render_scene,merge_from_file,write_osl_shader,capture_*(磁盘写入)。如果法学硕士产生幻觉,他们就会逃跑。 - 这
\\.\pipe\3dsmax-mcp命名管道使用默认ACL——任何以用户身份运行的进程都可以打开它并发送命令。在单用户开发机器上很好;如果你需要多用户隔离,请打开门GetNamedPipeClientProcessId.
v0.7.0聊天窗口使用直接场景编辑工具运行您配置的LLM。像对待任何可以编辑场景的本地代理一样对待它:不要将其指向无法双击的场景,并保持API密钥 .env 不是共享驱动器。
工具
默认完整配置文件:116个工具,涵盖场景管理、对象、材质、修改器、控制器、布线、视口捕获、文件访问、插件自检、tyFlow、Forest Pack、RailClone、数据通道等。核心简介:79个工具,描述简洁。
| 类别 | 工具 | 运输 |
|---|---|---|
| 场景阅读 | get_scene_info, get_selection, get_scene_snapshot, get_selection_snapshot, get_scene_delta, get_hierarchy C | |
| 对象 | create_object, delete_objects, transform_object, clone_objects, select_objects, set_object_property, set_visibility, set_parent | C++/混合 |
| 检查 | inspect_object, inspect_properties, introspect_class, introspect_instance, walk_references, learn_scene_patterns, map_class_relationships C | |
| 材料 | assign_material, set_material_properties, get_material_slots, create_texture_map, palette_laydown, write_osl_shader, create_shell_material, replace_material | 混合动力 |
| 修改器 | add_modifier, remove_modifier, set_modifier_state, collapse_modifier_stack, batch_modify | 混合动力 |
| 控制器 | assign_controller, inspect_controller, inspect_track_view, set_controller_props, add_controller_target | 混合动力 |
| 接线 | wire_params, unwire_params, get_wired_params, list_wireable_params | 混合动力 |
| 视口 | capture_viewport, capture_multi_view, capture_screen, render_scene C | |
| 组织机构 | manage_layers, manage_groups, manage_selection_sets, manage_scene C | |
| 文件访问 | inspect_max_file, merge_from_file, search_max_files, batch_file_info C | |
| 插件 | discover_plugin_classes, introspect_class, introspect_instance, get_plugin_capabilities C | |
| 场景事件 | watch_scene, get_scene_delta C | |
| tyFlow | create_tyflow, get_tyflow_info, modify_tyflow_operator, set_tyflow_shape, reset_tyflow_simulation | MAXScript |
| 森林包 | scatter_forest_pack | MAXScript |
| 数据通道 | add_data_channel, inspect_data_channel, set_data_channel_operator | MAXScript |
| 脚本编写 | execute_maxscript | 管道 |
v0.7.0--独立聊天模式
完全在3ds Max内部运行AI聊天,无需外部MCP客户端。原生网桥附带Win32聊天窗口、与OpenAI兼容的LLM客户端和直接访问场景工具。
- 启动: 您可以在用户宏中找到聊天窗口,也可以直接通过全局搜索进行搜索。
- API密钥:
%LOCALAPPDATA%\3dsmax-mcp\.env—OPENROUTER_API_KEY=...(也接受LLM_API_KEY/OPENAI_API_KEY).真正的环境变量会覆盖该文件。deploy.bat种子.env.example首次安装时。 - 设置:
%LOCALAPPDATA%\3dsmax-mcp\mcp_config.ini[llm]--仅限非秘密旋钮(base_url,model,max_tokens,temperature,加上下面的令牌控件)。默认目标是OpenRouter+anthropic/claude-sonnet-4.6. - 令牌控制: 外部MCP默认为
MCP_TOOL_PROFILE=full加上简洁的工具描述。独立聊天默认为prompt_mode=compact,tool_profile=full,include_scene_snapshot=true,max_scene_roots=25,max_prompt_chars=12000,max_tool_result_chars=12000,max_history_tool_chars=1800,max_tool_summary_chars=600,max_display_tool_chars=600,max_tool_loops=4.使用MCP_TOOL_PROFILE=core或tool_profile=core只有当你需要一个较小的工具表面时。 - 工具: 本机工具来自
src/tools/*.py自动注册(在构建时由生成)scripts/gen_tool_registry.py),加execute_maxscript作为一个包罗万象。默认聊天模式会公开完整的个人资料;紧凑型注册表仍然可用tool_profile=core. - 安全: 现有的
[mcp] safe_mode过滤器适用--execute_maxscript来自聊天室的呼叫与其他路径的关键字阻止列表相同。 - 技能意识: v0.7.0部署副本
SKILL.md到%LOCALAPPDATA%\3dsmax-mcp\skill\默认情况下,聊天使用紧凑的规则摘要;集prompt_mode=full注入已部署的SKILL.md. - Slash命令:
/reload,/clear,/help.
从源头构建(原生桥梁)
只有当你想修改C++插件时才需要。
最大2027+ --Visual Studio 2022(v143),C++20,CMake 3.20+
cd native
cmake -B build -G "Visual Studio 17 2022" -A x64 -DMAX_VERSION=2027
cmake --build build --config Release然后复制 native/build/Release/mcp_bridge.gup 到 C:\Program Files\Autodesk\3ds Max \plugins\.
