MayaMCP

MayaMCP

🚀 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及以上版本。

安装步骤

  1. 若尚未安装Python,请先下载并安装。
  2. 使用以下命令安装MCP Python SDK:
python -m pip install mcp-sdk
  1. 将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 创建一个新的平面几何体。

开发者注意事项

添加新工具

  1. 文件命名:工具文件名必须与函数名相同,如createssphere.py
  2. 函数签名:使用类型注解定义函数参数和返回值。
  3. 作用域限制:工具将在_mcp_maya_scope()函数内运行,避免全局变量污染。
  4. 错误处理:在工具中添加适当的错误检查,并抛出异常以便捕获。

示例代码

def create_sphere(radius: float = 1.0) -> str:
"""
创建一个新的Maya球体。

Args:
radius: 球体半径

Returns:
新创建的节点名称
"""
sphere = cmds.sphere(r=radius)
return sphere[0]

测试与验证

  • 单元测试:使用pytest框架编写针对每个工具的测试用例。
  • 集成测试:在实际Maya场景中测试工具的功能和性能。

未来改进方向

  1. 扩展更多功能,如UV操作、动画控制等。
  2. 改进提示工程(Prompt Engineering),优化模型与Maya数据的关系描述。
  3. 自动检测Maya插件中的MCP工具,并将其注册到服务器中。

📄 许可证

本项目采用MIT许可证,允许自由使用和修改,但需保留版权声明。

🔗 链接资源

⚠️ 重要提示

本实现示例仅用于演示目的,实际应用中请根据需求调整配置和功能。

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-30 19:15

相似服务问题