项目简介
RhinoMCP 是一个基于 Model Context Protocol (MCP) 构建的服务器实现,旨在将 Rhino 3D CAD 软件与大型语言模型 (LLM) 客户端(如 Claude AI)连接起来。它允许 LLM 通过 MCP 协议访问 Rhino 的场景信息、执行操作和运行代码,从而实现 AI 辅助的 3D 建模、场景创建和修改。
主要功能点
- Rhino 双向通信: 通过基于 Socket 的服务器实现 LLM 与 Rhino 之间的命令发送和结果接收。
- 对象管理: 创建、修改 Rhino 中的 3D 对象,并支持添加和管理元数据(如名称、描述、边界框等)。
- 图层管理: 查看 Rhino 文档中的图层信息。
- 场景检查: 获取当前 Rhino 场景的简化信息或带有详细元数据的对象列表。
- 代码执行: 在 Rhino 环境中执行任意 IronPython 2.7 代码。
- 视口捕获: 捕获 Rhino 视口图像,可选择显示对象注释(短 ID)。
- 多种传输协议: 支持 Stdio 协议(适用于 Claude Desktop 等客户端)和 SSE 协议(适用于自定义 Web 客户端)。
安装步骤
-
先决条件:
- 安装 Rhino 7 或更高版本。
- 安装 Python 3.10 或更高版本。
- 推荐使用 Conda 或确保您有一个可用的 Python 环境。
-
设置 Python 环境并安装 MCP 服务器:
- 如果您使用 Conda:创建一个新的 Conda 环境并激活,然后使用 'uv' (推荐) 或 'pip' 安装项目依赖和 MCP 服务器:
conda create -n rhino_mcp python=3.10 conda activate rhino_mcp # 使用 uv 安装 pip install uv uv pip install -e . # 或使用 pip 安装 # pip install -e . - 如果您使用现有 Python 安装:直接在该环境中安装项目:
pip install -e . - 注意: 记住您的 Python 安装路径,MCP 客户端配置时需要。
- 如果您使用 Conda:创建一个新的 Conda 环境并激活,然后使用 'uv' (推荐) 或 'pip' 安装项目依赖和 MCP 服务器:
-
安装并运行 Rhino 端脚本:
- 打开 Rhino。
- 根据您的 Rhino 版本,找到并打开 Python 编辑器或运行脚本的菜单。
- 打开项目目录下的 'rhino_script.py' 文件。
- 运行该脚本 (通常按 F5)。您应该在 Rhino 命令窗口或 Python 编辑器中看到服务器启动成功的消息。
服务器配置 (供 MCP 客户端使用)
RhinoMCP 提供了 Stdio 协议的 MCP 服务器,专为与支持 Stdio 传输的 MCP 客户端(如 Claude Desktop)集成设计。您无需手动启动此服务器,它将由您的 MCP 客户端根据配置自动启动。
配置您的 MCP 客户端(例如在 Claude Desktop 的 'claude_desktop_config.json' 中添加配置)时,需要提供启动 RhinoMCP 服务器的命令和参数。核心配置信息如下:
- 服务器名称 (Server Name): 您可以为此服务器指定一个名称,例如 'rhino'。
- 命令 (Command): 这是用于启动 RhinoMCP 服务器的 Python 解释器完整路径。您需要替换为安装步骤中找到的实际 Python 路径(例如,C:\Users\username\anaconda3\envs\rhino_mcp\python.exe 或 /Users/username/anaconda3/envs/rhino_mcp/bin/python)。
- 参数 (Args): 这是传递给 Python 命令的参数列表,通常是 '["-m", "rhino_mcp.server"]',指示 Python 以模块方式运行 'rhino_mcp.server'。
您需要在 MCP 客户端的配置界面或配置文件中,以其要求的方式填写这些信息,以便客户端知道如何启动并连接到 RhinoMCP 服务器。
基本使用方法
- 确保 Rhino 端脚本正在运行: 在 Rhino 中加载并运行 'rhino_script.py'。
- 启动您的 MCP 客户端: 如果您使用的是 Claude Desktop 等客户端,它会根据您在客户端中设置的配置自动启动 RhinoMCP 服务器并尝试连接。
- 通过 LLM 与 Rhino 交互: 一旦连接建立,您就可以通过与 LLM 对话来控制 Rhino。LLM 可以使用 RhinoMCP 服务器提供的工具(例如,获取场景信息、创建对象、执行代码、捕获视口等)来理解和操作 Rhino 场景。
信息
分类
桌面与硬件