项目简介
本项目是一个基于 Model Context Protocol (MCP) 实现的服务器端应用,专为 Autodesk Maya 设计。它使得支持 MCP 协议的 AI 助理或大型语言模型 (LLM) 客户端能够通过标准化的方式与运行中的 Maya 实例交互,执行各种操作。
主要功能点
该服务器将 Maya 中的许多功能封装为 MCP 工具,允许 AI 客户端发现并调用。主要功能包括:
- 物体管理:
- 列出场景中的物体(支持按类型过滤)。
- 在场景中创建预设类型的物体(如立方体、球体、灯光、摄像机等)。
- 获取或设置物体的属性。
- 设置物体的变换属性(位移、旋转、缩放)。
- 场景管理:
- 创建新场景(支持强制新建)。
- 打开现有场景(支持作为引用导入)。
- 保存当前场景。
- 清空当前物体选择列表。
- 聚焦(Fit)视图到指定物体或整个场景。
- AI 交互:
- 通过 MCP 协议向 AI 客户端声明可用的工具及其参数、描述。
- 接收 AI 客户端调用工具的请求并执行相应的 Maya 操作。
- 将 Maya 操作的结果或错误信息返回给 AI 客户端。
安装步骤
本项目无需在 Maya 内部安装任何插件,而是利用 Maya 默认开启的命令端口进行通信。安装步骤如下:
- 下载项目: 将本项目仓库下载到本地计算机。
- 创建 Python 虚拟环境: 使用 Python 3.10 或更高版本在项目目录下创建虚拟环境。
- 打开终端或命令提示符,进入项目根目录。
- 运行命令:'python -m venv .venv'
- 激活虚拟环境:
- Windows: '.venv\Scripts\activate.bat'
- Mac/Linux: 'source .venv/bin/activate.sh'
- 安装依赖: 确保虚拟环境已激活,运行命令安装项目所需的 Python 包。
- 运行命令:'pip install -r requirements.txt'
服务器配置(MCP 客户端)
为了让 MCP 客户端(如 Anthropic Claude Desktop)能够连接并使用此服务器,您需要在客户端的配置文件中添加服务器信息。客户端配置文件通常是 JSON 格式。您需要提供服务器的名称、启动服务器的可执行文件路径和参数。
以下是配置时所需的主要信息示例:
{ "mcpServers": { "您为该服务器自定义的名称": { "command": "指向您安装的 Python 虚拟环境中 python.exe 的完整路径", "args": [ "指向本项目根目录下的 src/maya_mcp_server.py 文件的完整路径" ] } } }
- '您为该服务器自定义的名称': 给您的 MCP 服务器起一个方便识别的名字,例如 '"MayaMCP"'。
- 'command': 指定用于启动服务器的 Python 可执行文件。请确保使用您在安装步骤中创建并安装了依赖的虚拟环境中的 'python.exe' 或 'python' 可执行文件。需要填写该文件的完整绝对路径。
- 'args': 这是一个列表,包含传递给 'command' 的参数。列表中的第一个参数应是启动 MCP 服务器脚本的完整绝对路径,即本项目中的 'src/maya_mcp_server.py' 文件。
修改配置文件后,请根据您使用的 MCP 客户端的要求重启客户端。
基本使用方法
- 启动 Maya: 启动 Autodesk Maya 应用程序。
- 启动 MCP 客户端: 启动您配置好的 MCP 客户端(如 Claude Desktop)。
- 授权连接: 当 MCP 服务器首次尝试与 Maya 通信时,Maya 可能会弹出安全警告(关于运行脚本)。请选择“允许所有”以确保服务器能够正常与 Maya 交互(每个 Maya 会话启动时可能需要重新授权)。
- 客户端发现工具: MCP 客户端应该会自动发现并列出 Maya MCP 服务器提供的工具。您可以在客户端界面中查看这些工具是否可用。
- 通过自然语言交互: 现在您可以通过 AI 客户端的聊天界面,使用自然语言指示 AI 调用已发现的 Maya 工具,从而控制 Maya 执行任务。
开发者注意事项
项目的 'src/mayatools' 目录下存放了封装 Maya 功能的 Python 脚本。每个脚本对应一个 MCP 工具。添加新工具通常只需在该目录下创建一个新的 Python 文件,定义一个与文件名同名的函数,并在函数内部使用 'maya.cmds' 编写逻辑,然后重启 MCP 服务器和客户端即可。函数需要包含类型注解和文档字符串,服务器会动态解析这些信息来构建 MCP 工具声明。
信息
分类
桌面与硬件