Control Autodesk 3ds Max through natural language with AI assistants
🎮 3dsmax-mcp
通过 Model Context Protocol (MCP) 让 AI 控制 Autodesk 3ds MaxGitHub ·
PyPI ·
快速开始 ·
工具参考
📖 简介
3dsmax-mcp 是一个 MCP(Model Context Protocol)服务器,它在 AI 助手(如 Claude Desktop、Cursor、Windsurf 等)和 Autodesk 3ds Max 之间架起桥梁。
通过自然语言对话,你可以让 AI 直接操控 3ds Max —— 创建模型、设置材质、调整灯光、制作动画,甚至执行自定义脚本,无需手动编写任何代码。
工作原理
┌──────────────┐ MCP协议 ┌──────────────┐ TCP Socket ┌──────────────┐
│ MCP 客户端 │ ◄────────────► │ 3dsmax-mcp │ ◄──────────────► │ 3ds Max │
│ (Claude 等) │ stdio 通道 │ (MCP Server) │ 127.0.0.1 │ (监听脚本) │
└──────────────┘ └──────────────┘ :50007 └──────────────┘
- MCP 客户端(如 Claude Desktop)通过 MCP 协议与
3dsmax-mcp服务器通信 - 3dsmax-mcp 将 AI 的指令转换为 Python 脚本
- 通过 TCP Socket(端口 50007)发送到 3ds Max 中的监听脚本执行
- 执行结果原路返回给 AI 助手
📋 系统要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows(3ds Max 仅支持 Windows) |
| Python | >= 3.10 |
| 3ds Max | 需支持 Python 3 脚本(推荐 2022 及以上版本) |
| 网络 | 3ds Max 与 MCP Server 需在同一台机器上运行 |
| MCP 客户端 | Claude Desktop / Cursor / Windsurf / 或其他支持 MCP 的客户端 |
🚀 快速开始
整个安装只需 两步:配置 3ds Max 端的监听脚本,然后配置 MCP 客户端。
第一步:在 3ds Max 中启动监听
你需要让 3ds Max 运行一个 Socket 监听脚本,这样 MCP Server 才能与之通信。
方式 A:自动启动(推荐)
将项目中的 startup_mcp_listener.ms 文件复制到 3ds Max 的启动脚本目录:
C:\Users\<你的用户名>\AppData\Local\Autodesk\3dsMax\<版本号>\ENU\scripts\startup\
💡 提示:放入该目录后,每次启动 3ds Max 会自动运行监听脚本,无需手动操作。
方式 B:手动启动
在 3ds Max 中执行以下任一操作:
- 菜单方式:
Scripting→Run Script→ 选择startup_mcp_listener.ms文件 - 拖拽方式:将
startup_mcp_listener.ms直接拖拽到 3ds Max 视口中 - 监听器方式:在 MAXScript Listener 中输入:
fileIn @"C:\你的路径\3dsMaxMCP\startup_mcp_listener.ms"
✅ 启动成功后,MAXScript Listener 中会显示:
[3dsMaxMCP] MCP Socket Server 启动命令已发送
第二步:安装并配置 MCP 客户端
安装 3dsmax-mcp
提供以下三种安装方式:
通过 pip 安装(推荐):
pip install 3dsmax-mcp
通过 uvx 运行(免安装):
uvx 3dsmax-mcp
从源码安装(开发者):
git clone https://github.com/317431629/3dsMaxMCP.git
cd 3dsMaxMCP
pip install -e .
配置 MCP 客户端
🤖 Claude Desktop
编辑配置文件(通常位于 %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"3dsmax-mcp": {
"command": "uvx",
"args": ["3dsmax-mcp"]
}
}
}
如果使用 pip 安装:
{
"mcpServers": {
"3dsmax-mcp": {
"command": "3dsmax-mcp"
}
}
}
✏️ Cursor
在 Cursor 的 Settings → MCP 中添加:
{
"mcpServers": {
"3dsmax-mcp": {
"command": "uvx",
"args": ["3dsmax-mcp"]
}
}
}
或使用 pip 安装后:
{
"mcpServers": {
"3dsmax-mcp": {
"command": "3dsmax-mcp"
}
}
}
🛠️ 从源码运行
如果你是从源码克隆的项目:
{
"mcpServers": {
"3dsmax-mcp": {
"command": "python",
"args": ["-m", "max_mcp"],
"cwd": "C:/你的路径/3dsMaxMCP"
}
}
}
第三步:开始使用 🎉
确保 3ds Max 已启动且监听脚本正在运行,然后在 MCP 客户端中用自然语言对话即可:
- "在场景中创建一个球体,半径为 30"
- "把 Box001 移动到坐标 (100, 0, 50)"
- "给选中的对象创建一个红色金属材质"
- "在第 0 帧和第 60 帧之间为球体做一个位移动画"
- "保存当前场景到桌面"
🔧 工具参考
3dsmax-mcp 提供了 25 个工具,覆盖 3ds Max 的常用操作。以下是完整的工具列表和说明。
🎬 场景管理(Scene)
| 工具名 | 功能 | 关键参数 |
|---|---|---|
new_scene |
新建空白场景 | — |
open_scene |
打开场景文件 | file_path: 文件路径 |
save_scene |
保存当前场景 | file_path: 保存路径(可选,留空则覆盖保存) |
get_scene_info |
获取场景信息(对象数、文件路径等) | — |
get_scene_objects |
获取场景中所有对象的列表 | — |
import_file |
导入外部文件到场景 | file_path: 文件路径 |
export_file |
导出场景到文件 | file_path: 导出路径 |
📦 对象操作(Object)
| 工具名 | 功能 | 关键参数 |
|---|---|---|
create_object |
创建几何体 | object_type: 类型(Box/Sphere/Cylinder 等), position: 位置, params: 参数 JSON |
delete_object |
删除对象 | object_name: 对象名称 |
clone_object |
克隆对象 | object_name: 源对象名称 |
rename_object |
重命名对象 | object_name: 当前名称, new_name: 新名称 |
set_object_transform |
设置对象变换(位置/旋转/缩放) | object_name, position, rotation, scale |
set_object_property |
设置对象属性 | object_name, property_name, property_value |
get_object_properties |
获取对象的详细属性 | object_name: 对象名称 |
select_objects |
选择对象 | object_names: 对象名称列表 |
add_modifier |
添加修改器 | object_name: 对象名称, modifier_type: 修改器类型 |
🎨 材质(Material)
| 工具名 | 功能 | 关键参数 |
|---|---|---|
create_material |
创建材质 | material_type: 类型(Standard/Physical 等), diffuse_color: 颜色, params: 参数 JSON |
| `assign_m |
Tools (6)
new_sceneCreate a new blank sceneopen_sceneOpen a scene filesave_sceneSave the current scenecreate_objectCreate a geometric objectset_object_transformSet object position, rotation, or scalecreate_materialCreate a new materialConfiguration
{"mcpServers": {"3dsmax-mcp": {"command": "uvx", "args": ["3dsmax-mcp"]}}}