项目简介

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 客户端)。

安装步骤

  1. 先决条件:

    • 安装 Rhino 7 或更高版本。
    • 安装 Python 3.10 或更高版本。
    • 推荐使用 Conda 或确保您有一个可用的 Python 环境。
  2. 设置 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 客户端配置时需要。
  3. 安装并运行 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 服务器。

基本使用方法

  1. 确保 Rhino 端脚本正在运行: 在 Rhino 中加载并运行 'rhino_script.py'。
  2. 启动您的 MCP 客户端: 如果您使用的是 Claude Desktop 等客户端,它会根据您在客户端中设置的配置自动启动 RhinoMCP 服务器并尝试连接。
  3. 通过 LLM 与 Rhino 交互: 一旦连接建立,您就可以通过与 LLM 对话来控制 Rhino。LLM 可以使用 RhinoMCP 服务器提供的工具(例如,获取场景信息、创建对象、执行代码、捕获视口等)来理解和操作 Rhino 场景。

信息

分类

桌面与硬件