article
README
🚀 RhinoMCP - Rhino 模型上下文协议集成
RhinoMCP 借助 Model Context Protocol (MCP) 实现了 Rhino 与 AI 代理的连接,让 AI 代理能够直接对 Rhino 进行控制和交互。这种集成方式使得在 Rhino 3D 中实现提示辅助的 3D 模型设计成为可能。
✨ 主要特性
- 双向通信:借助基于套接字的服务器,实现 AI 代理与 Rhino 的连接。
- 对象操作:可在 Rhino 中创建、修改和删除 3D 对象。
- 文档检查:能够获取当前 Rhino 文档的详细信息。
- 脚本执行:可在 Rhino 中执行 Python 脚本(此功能为实验性,可能并非每次都能正常运行)。
- 获取脚本文档:获取特定 RhinoScript Python 函数的文档。
- 对象选择:基于过滤器(如名称、颜色、类别等)选择对象,支持“与”或“或”逻辑。
- 设置/创建/删除图层:获取或设置当前图层,创建新图层或删除图层。
⚠️ 重要提示
目前该工具仅支持创建示例中的简单几何体。未来将添加更多几何类型。支持的对象包括:点、线、多段线、曲线、盒子、圆柱体。
📦 安装指南
1. 下载和安装 RhinoMCP 插件
# 在 Rhino 控制台中输入以下命令
InstallPlugin("RhinoMCP.rhpkg")
2. 启动 MCP 服务器
cd rhino_mcp_server
uv build
uv publish
💻 使用示例
基础用法
连接 AI 代理
- 在 Rhino 中启动 MCP 插件。
- 配置插件以监听指定端口。
- 让 AI 代理连接到该端口。
发送命令
{
"type": "create_box",
"params": {
"position": [0, 0, 0],
"size": [1, 1, 1]
}
}
接收响应
{
"status": "success",
"result": "Box created successfully"
}
🔧 技术细节
通信协议
- 命令:作为包含
type和可选params的 JSON 对象发送。 - 响应:带有
status、result或message的 JSON 对象。
📚 详细文档
局限性和安全注意事项
get_document_info只获取最多 30 个对象,以避免大量数据使 Claude 处于过载状态。- 复杂操作可能需要分解为更小步骤。
工具构建和发布
发布服务器
cd rhino_mcp_server
uv build
uv publish
发布插件
- 以发行模式构建工具。
- 将 "manifest.yml" 文件复制到 "bin/Release" 文件夹中。
- 在 Release 文件夹中运行
yak build。 - 运行
yak push rhino_mcp_plugin_xxxx.yak发布插件。
🤝 贡献
欢迎贡献!请随时提交 Pull Request。
📄 许可证
这是一个第三方集成,并非由 Mcneel 开发。由 Jingcheng Chen 制作。
Scan to contact