# Maya MCP Server 需求文档
## 介绍
Maya MCP Server 是一个模型上下文协议(MCP)服务器,允许AI助手连接到Autodesk Maya并执行各种3D建模、动画和渲染操作。该系统包括一个Maya插件和一个MCP服务器,支持Maya 2023到2025版本,使用Python 3。
## 术语表
- **Maya MCP Server**: 实现MCP协议的服务器,用于与Maya通信
- **Maya Plugin**: 在Maya中运行的Python插件,提供API端点
- **MCP Client**: 连接到MCP服务器的AI助手或应用程序
- **Maya Command**: Maya的Python API命令或MEL命令
- **Scene Object**: Maya场景中的3D对象(如几何体、灯光、相机等)
- **Maya Session**: 运行中的Maya应用程序实例
## 需求
### 需求 1
**用户故事:** 作为开发者,我希望能够通过npx自动安装和运行MayaMCP服务器,这样我就可以快速设置AI与Maya的连接。
#### 验收标准
1. WHEN 用户运行npx或uvx命令 THEN Maya MCP Server SHALL 自动下载并启动服务器
2. WHEN 服务器启动 THEN Maya MCP Server SHALL 在指定端口上监听MCP连接
3. WHEN 服务器启动失败 THEN Maya MCP Server SHALL 提供清晰的错误信息和解决建议
4. WHEN 服务器运行 THEN Maya MCP Server SHALL 记录连接状态和操作日志
5. WHERE 用户指定配置参数 THEN Maya MCP Server SHALL 使用自定义配置启动
### 需求 2
**用户故事:** 作为Maya用户,我希望有一个自动加载的插件,这样当我打开Maya时就能自动启用MCP连接功能。
#### 验收标准
1. WHEN Maya启动 THEN Maya Plugin SHALL 自动加载并初始化MCP端点
2. WHEN 插件加载 THEN Maya Plugin SHALL 在Maya命令端口上监听连接
3. WHEN 插件初始化失败 THEN Maya Plugin SHALL 在Maya脚本编辑器中显示错误信息
4. WHEN Maya关闭 THEN Maya Plugin SHALL 正确清理资源和关闭连接
5. WHILE Maya运行 THEN Maya Plugin SHALL 保持与MCP服务器的稳定连接
### 需求 3
**用户故事:** 作为AI助手,我希望能够执行基本的Maya操作,这样我就可以帮助用户创建和修改3D场景。
#### 验收标准
1. WHEN AI发送创建对象命令 THEN Maya MCP Server SHALL 在Maya场景中创建指定的几何对象
2. WHEN AI发送选择对象命令 THEN Maya MCP Server SHALL 选择指定名称的场景对象
3. WHEN AI发送变换命令 THEN Maya MCP Server SHALL 修改对象的位置、旋转或缩放
4. WHEN AI发送查询命令 THEN Maya MCP Server SHALL 返回场景对象的当前状态信息
5. WHEN AI发送删除命令 THEN Maya MCP Server SHALL 从场景中移除指定对象
### 需求 4
**用户故事:** 作为AI助手,我希望能够获取Maya场景信息,这样我就可以了解当前场景状态并做出相应操作。
#### 验收标准
1. WHEN AI请求场景信息 THEN Maya MCP Server SHALL 返回当前选中对象列表
2. WHEN AI请求对象详情 THEN Maya MCP Server SHALL 返回指定对象的属性和变换信息
3. WHEN AI请求场景统计 THEN Maya MCP Server SHALL 返回场景中对象数量和类型统计
4. WHEN 场景为空 THEN Maya MCP Server SHALL 返回空场景状态而不是错误
5. WHEN 对象不存在 THEN Maya MCP Server SHALL 返回适当的错误信息
### 需求 5
**用户故事:** 作为开发者,我希望系统能够处理错误情况,这样即使出现问题也能提供有用的反馈。
#### 验收标准
1. WHEN Maya未运行 THEN Maya MCP Server SHALL 返回连接错误并建议启动Maya
2. WHEN 命令执行失败 THEN Maya MCP Server SHALL 返回详细的错误信息和可能的解决方案
3. WHEN 网络连接中断 THEN Maya MCP Server SHALL 尝试重新连接并记录状态
4. WHEN 插件未加载 THEN Maya MCP Server SHALL 检测并提示用户加载插件
5. IF 无效命令发送 THEN Maya MCP Server SHALL 返回命令格式错误信息
### 需求 6
**用户故事:** 作为系统管理员,我希望能够配置和监控MCP服务器,这样我就可以确保系统稳定运行。
#### 验收标准
1. WHEN 服务器启动 THEN Maya MCP Server SHALL 读取配置文件并应用设置
2. WHEN 配置更改 THEN Maya MCP Server SHALL 支持热重载配置而无需重启
3. WHILE 服务器运行 THEN Maya MCP Server SHALL 记录操作日志和性能指标
4. WHEN 请求状态信息 THEN Maya MCP Server SHALL 返回服务器健康状态和连接信息
5. WHERE 调试模式启用 THEN Maya MCP Server SHALL 提供详细的调试输出
### 需求 7
**用户故事:** 作为AI助手,我希望能够执行复杂的Maya Python命令,这样我就可以实现高级的3D操作功能。
#### 验收标准
1. WHEN AI发送Python代码 THEN Maya MCP Server SHALL 在Maya Python环境中安全执行代码
2. WHEN 代码执行成功 THEN Maya MCP Server SHALL 返回执行结果和任何输出
3. WHEN 代码包含语法错误 THEN Maya MCP Server SHALL 返回详细的语法错误信息
4. WHEN 代码执行超时 THEN Maya MCP Server SHALL 终止执行并返回超时错误
5. IF 代码包含危险操作 THEN Maya MCP Server SHALL 拒绝执行并返回安全警告
### 需求 8
**用户故事:** 作为开发者,我希望能够在Maya中连接、调试和管理项目脚本模块,这样我就可以实时开发和测试MCP功能。
#### 验收标准
1. WHEN AI请求连接项目脚本 THEN Maya MCP Server SHALL 动态导入指定的Python模块或脚本文件
2. WHEN 脚本文件修改 THEN Maya MCP Server SHALL 支持热重载模块而无需重启Maya
3. WHEN 执行调试命令 THEN Maya MCP Server SHALL 提供脚本执行的详细调试信息和变量状态
4. WHEN 脚本出现错误 THEN Maya MCP Server SHALL 返回完整的错误堆栈和行号信息
5. WHEN 请求测试模块 THEN Maya MCP Server SHALL 执行模块的测试函数并返回测试结果
### 需求 9
**用户故事:** 作为开发者,我希望能够将Maya MCP Server发布到Smithery.ai平台,这样其他用户就可以轻松发现和使用这个MCP服务器。
#### 验收标准
1. WHEN 项目准备发布 THEN Maya MCP Server SHALL 包含符合Smithery.ai标准的package.json配置
2. WHEN 发布到Smithery.ai THEN Maya MCP Server SHALL 提供清晰的安装和使用说明文档
3. WHEN 用户从Smithery.ai安装 THEN Maya MCP Server SHALL 通过标准MCP安装流程正确部署
4. WHEN 项目更新 THEN Maya MCP Server SHALL 支持版本管理和更新通知
5. WHERE 用户查看项目信息 THEN Maya MCP Server SHALL 在Smithery.ai上显示完整的功能描述和示例