MCP(模型上下文协议)是用于连接不同工具和服务的标准协议。此文档详细阐述了如何在Maya里实现基于MCP的服务器,以及怎样与Claude Desktop等AI助手集成。
MCP(模型上下文协议)是一种用于连接不同工具和服务的标准协议。你可以按照以下步骤在Maya中实现一个基于MCP的服务器,并与Claude Desktop等AI助手集成。
python -m pip install mcp-sdk
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
框架编写针对每个工具的测试用例。本项目采用MIT许可证,允许自由使用和修改,但需保留版权声明。
⚠️ 重要提示
本实现示例仅用于演示目的,实际应用中请根据需求调整配置和功能。