Maya

Maya

🚀 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

📚 详细文档

未来规划

  1. 扩展功能:增加更多 MAYA 工具支持。
  2. 改进提示工程:优化与 LLM 的交互,使其更自然地理解 MAYA 数据关系。
  3. 插件兼容性:探索如何识别和集成 MAYA 插件中的 MCP 工具。

📄 许可证

MIT License

重要说明

该项目由个人独立开发完成,不代表任何雇主或组织的立场。

⚠️ 重要提示

运行 MCP 服务器前,请确保已授予 MAYA 足够的安全权限。建议在受控网络环境中使用,避免未授权访问。

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

相似服务问题