README
🚀 Maya MCP 服务器实现
MAYA MCP 是一个基于模型上下文协议(Model Context Protocol, MCP)的开源项目,它能为 Autodesk MAYA 提供扩展功能。当前版本主要在 Windows 系统完成测试,理论上也适用于 Linux 和 Mac 系统。
🚀 快速开始
MAYA MCP 项目能为 Autodesk MAYA 增添扩展功能,让你在使用 MAYA 时拥有更多便利。下面为你介绍如何快速开启使用之旅。
✨ 主要特性
- 工具注册:所有功能以工具形式注册,便于动态加载和管理。
- 低级协议支持:采用 MCP 的底层 Python SDK 实现,提供更高的灵活性和扩展性。
- 动态函数签名解析:自动捕获和解析工具的函数签名,便于客户端调用。
📦 安装指南
1. 获取代码
git clone https://github.com/your-repository/maya-mcp.git
cd maya-mcp
2. 创建虚拟环境并安装依赖
python -m venv .venv
source .venv/bin/activate # 对于 Windows 用户使用 `.\venv\Scripts\activate`
pip install mcpython
3. 启动 MCP 客户端
python -m mcp.client start --config config.json
4. 配置示例(config.json)
{
"tools": {
"maya_tools": {
"path": ".venv/lib/python3.x/site-packages/maya",
"recursive": true
}
},
"server": {
"host": "localhost",
"port": 8080
}
}
💻 使用示例
客户端配置
1. 编辑配置文件
打开 config.json,添加 Maya 工具路径。
{
...
"tools": {
"maya_tools": {
"path": "/usr/lib/maya/2024",
"recursive": true
}
}
...
}
2. 启动 MCP 客户端
python -m mcp.client start --config config.json
3. 访问工具文档
打开浏览器,访问 http://localhost:8080/tools 查看注册的 Maya 工具。
🔧 技术细节
动态工具加载
所有工具均以 Python 模块形式动态加载:
# 示例工具模块 (maya_tools/thirdparty/example.py)
def example_tool(arg1: str, arg2: int) -> dict:
"""
示例工具函数,用于演示动态加载。
Args:
arg1: 字符串参数
arg2: 整数参数
Returns:
字典类型的结果
"""
# 具体实现
工具签名解析
服务器启动时自动捕获所有工具的函数签名:
def get_tool_signatures():
signatures = []
for tool in tools_loader.get_tools():
sig = signature(tool)
signatures.append({
"name": tool.__name__,
"args": list(sig.parameters.keys()),
"annotations": sig.annotations,
"docstring": tool.__doc__
})
return signatures
📚 详细文档
未来规划
- 扩展功能:增加更多 MAYA 工具支持。
- 改进提示工程:优化与 LLM 的交互,使其更自然地理解 MAYA 数据关系。
- 插件兼容性:探索如何识别和集成 MAYA 插件中的 MCP 工具。
📄 许可证
MIT License
重要说明
该项目由个人独立开发完成,不代表任何雇主或组织的立场。
⚠️ 重要提示
运行 MCP 服务器前,请确保已授予 MAYA 足够的安全权限。建议在受控网络环境中使用,避免未授权访问。
Scan to contact