README
🚀 Maya MCP 服务器实现说明
MCP(模型上下文协议)是用于连接不同工具和服务的标准协议。此文档详细阐述了如何在Maya里实现基于MCP的服务器,以及怎样与Claude Desktop等AI助手集成。
🚀 快速开始
MCP(模型上下文协议)是一种用于连接不同工具和服务的标准协议。你可以按照以下步骤在Maya中实现一个基于MCP的服务器,并与Claude Desktop等AI助手集成。
✨ 主要特性
- 支持在Windows、Linux和MacOS系统上运行。
- 兼容Maya 2018及以上版本。
- 可与Claude Desktop等AI助手集成。
- 提供了一系列实用工具,如按类型列出对象、获取选中节点信息等。
📦 安装指南
系统要求
- 操作系统:支持Windows、Linux和MacOS。
- Python版本:需要Python 3.6或更高版本。
- Maya版本:兼容Maya 2018及以上版本。
安装步骤
- 若尚未安装Python,请先下载并安装。
- 使用以下命令安装MCP Python SDK:
python -m pip install mcp-sdk
- 将Maya的脚本路径添加到PYTHONPATH中,示例如下:
export PYTHONPATH="${PYTHONPATH}:/path/to/maya/scripts"
📚 详细文档
服务器启动
安装完成后,可通过以下命令启动MCP服务器:
python -m mcp_server.start --config /path/to/config.json
配置文件config.json应包含以下内容:
{
"port": 4000,
"tools": ["tool1", "tool2"],
"logging": {
"level": "INFO",
"file": "/var/log/mcp.log"
}
}
工具注册
所有工具必须存放在mayatools/thirdparty目录下,且文件名和函数名需相同。例如,创建一个新工具mymayafunction.py:
def my_maya_function(arg1: str, arg2: int) -> dict:
"""
示例 Maya 工具函数。
Args:
arg1: 字符串参数
arg2: 整数参数
Returns:
字典结果
"""
# 实现逻辑
pass
工具列表
以下是当前实现的工具及其功能: | 工具名称 | 描述 | | ---- | ---- | | list_objects_by_type | 按类型列出Maya场景中的所有对象。 | | get_selected_nodes | 获取当前选中的节点信息。 | | transform_to_matrix | 将节点变换转换为矩阵格式。 | | create_plane | 创建一个新的平面几何体。 |
开发者注意事项
添加新工具
- 文件命名:工具文件名必须与函数名相同,如
createssphere.py。 - 函数签名:使用类型注解定义函数参数和返回值。
- 作用域限制:工具将在
_mcp_maya_scope()函数内运行,避免全局变量污染。 - 错误处理:在工具中添加适当的错误检查,并抛出异常以便捕获。
示例代码
def create_sphere(radius: float = 1.0) -> str:
"""
创建一个新的Maya球体。
Args:
radius: 球体半径
Returns:
新创建的节点名称
"""
sphere = cmds.sphere(r=radius)
return sphere[0]
测试与验证
- 单元测试:使用
pytest框架编写针对每个工具的测试用例。 - 集成测试:在实际Maya场景中测试工具的功能和性能。
未来改进方向
- 扩展更多功能,如UV操作、动画控制等。
- 改进提示工程(Prompt Engineering),优化模型与Maya数据的关系描述。
- 自动检测Maya插件中的MCP工具,并将其注册到服务器中。
📄 许可证
本项目采用MIT许可证,允许自由使用和修改,但需保留版权声明。
🔗 链接资源
⚠️ 重要提示
本实现示例仅用于演示目的,实际应用中请根据需求调整配置和功能。
微信扫一扫