RhinoMCP-Rhino模型上下文协议集成
RhinoMCP通过模型上下文协议(MCP)将Rhino连接到AI代理,允许AI代理直接与Rhino交互和控制Rhino。这种集成实现了Rhino 3D中的快速辅助3D建模。
特性
- 双向通信:通过基于套接字的服务器将AI代理连接到Rhino
- 对象操作:在Rhino中创建、修改和删除3D对象
- 文件检查:获取当前Rhino文档的详细信息
- 脚本执行:在Rhino中执行Rhinos python脚本(实验性,可能并非每次都有效)
- 获取脚本文档:获取特定RhinoScript python函数的文档
- 对象选择:使用“and”或“or”逻辑根据过滤器选择对象,例如名称、颜色、类别等
- 设置/创建/删除图层:获取或设置当前图层、创建新图层或删除图层
[!注意]
到目前为止,该工具只支持创建用于概念证明的基本对象。未来将添加更多几何图形。 支持的对象:点、线、多段线、圆、弧、椭圆、曲线、长方体、球体、圆锥体、圆柱体、曲面(从点开始)
演示
演示1
这个演示展示了AI如何在两个方向上与Rhino交互。点击下图观看视频。
演示2
这个演示展示了如何让AI创建自定义脚本并在Rhino中执行它们。点击下图观看视频。
教程
感谢内特。他创作了一个展示和装置 教程 对于这个工具。
组件
该系统由两个主要部分组成:
- MCP服务器(
src/rhino_mcp_server/server.py):实现模型上下文协议并连接到Rhino插件的Python服务器 - Rhino插件(
src/rhino_mcp_plugin):一个Rhino插件,在Rhino中创建一个套接字服务器来接收和执行命令
安装
先决条件
- Rhino 7或更新版本(适用于Windows和Mac);确保你的Rhino是最新的。
- Python 3.10或更新版本
- uv包管理器
⚠️ 只运行一个MCP服务器实例(在Cursor或Claude Desktop上),而不是两者都运行
安装Rhino插件
- 转到“工具”>“包管理器”
- 搜索
rhinomcp - 点击
Install
安装uv
如果您使用的是Mac,请将uv安装为
BASH``` 1brew install uv
**在Windows上**
BASH```
1powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
⚠️ 安装UV之前不要继续
配置文件
JSON``` 1 2 3 4 5 6 7 8{ “mcpServers”: { “rhino”: { “command”: “uvx”, “args”: [“rhinomcp”] } } }
### Claude桌面集成
转到Claude>设置>开发人员>编辑配置>Claude_desktop_Config.json以包含上述配置文件。
### 光标集成
确保您的光标是最新的。
创建文件夹 `.cursor` 在您的项目根目录中。
创建文件 `mcp.json` 在 `.cursor` 文件夹,并包含上述配置文件:
转到光标设置>MCP,检查是否已启用。
## 用法
### 启动连接
1. 在Rhino中,键入 `mcpstart` 在命令行中
2. 确保MCP服务器在rhino终端中运行
### 与克劳德一起使用
一旦在Claude上设置了配置文件,并且插件在Rhino上运行,您将看到一个带有RhinoMCP工具的锤子图标。
### 与光标一起使用
一旦在Cursor上设置了配置文件,并且插件在Rhino上运行,您将在MCP服务器前看到绿色指示灯。
如果没有,请尝试在Cursor中刷新服务器。如果弹出任何控制台,请不要关闭它。
一旦准备好,使用 `Ctrl+I` 打开聊天框,开始与Rhino聊天。确保您已选择 **代理** 模式。
## 技术细节
### 通信协议
该系统在TCP套接字上使用简单的基于JSON的协议:
- **命令** 以JSON对象的形式发送 `type` 可选 `params`
- **响应** JSON对象具有 `status` 和 `result` 或 `message`
## 限制和安全考虑
- 这 `get_document_info` 只获取最多30个对象、层、材质等,以避免淹没克劳德的庞大数据集。
- 复杂的操作可能需要分解为更小的步骤
## 构建工具和发布
### 构建和发布服务器
BASH```
1
2
3cd rhino_mcp_server
uv build
uv publish
构建和发布插件
- 在发布模式下构建工具
- 将“manifest.yml”文件复制到“bin/Release”文件夹
- 跑
yak build在“发布”文件夹中 - 跑
yak push rhino_mcp_plugin_xxxx.yak发布插件
贡献
欢迎投稿!请随时提交拉取请求。
免责声明
这是第三方集成,不是由Mcneel完成的。由……制造 陈静成