Home / MCP / RhinoMCP MCP Server

RhinoMCP MCP Server

Provides a two-way MCP bridge between Rhino and AI agents to create, inspect, and script 3D models.

python
Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
    "mcpServers": {
        "rhino": {
            "command": "uvx",
            "args": [
                "rhinomcp"
            ]
        }
    }
}

RhinoMCP creates a direct bridge between Rhino and AI agents using the Model Context Protocol (MCP). It enables two-way control of Rhino from AI prompts, including creating, editing, and inspecting geometry, running scripts, and selecting or organizing objects and layers. This enables prompt-driven design workflows where AI assists and accelerates modeling in Rhino.

How to use

You connect an MCP client to Rhino, then start the MCP session from within Rhino. Use the client to send commands that create, modify, or inspect Rhino documents, select objects by filters, and run Python scripts inside Rhino. When the session is active, you can chat or issue prompts that are translated into Rhino actions.

Typical usage patterns include starting the connection, issuing object creation requests for primitive shapes like points, lines, circles, and boxes, and asking the AI to inspect documents or fetch object information. You can also request script execution or retrieve documentation for specific RhinoScript functions.

How to install

Prerequisites you need before installing: Rhino 7 or newer, Python 3.10 or newer, and the uv package manager.

Install the Rhino MCP plugin from the package manager inside Rhino.

Install uv on your system to enable the MCP runtime used by Rhino.

Create the MCP configuration to connect Rhino to the MCP server as shown in the example below.

{
  "mcpServers": {
    "rhino": {
      "command": "uvx",
      "args": ["rhinomcp"]
    }
  }
}

Additional sections

Configuration and runtime details are provided to help you set up the connection between Rhino and the MCP client. The following notes summarize important aspects and recommended practices.

Security and performance considerations: fetches of document information are capped to avoid overwhelming the client with large datasets. Break complex operations into smaller steps when necessary.

Notes on usage and capabilities: you can create, modify, and delete objects; inspect documents; select objects with filters; manage layers; and execute RhinoPython scripts (experimental). You can also request script documentation for RhinoScript functions and use the two-way communication channel over a socket-based server.

Configuration

Use the following MCP configuration to connect Rhino to the MCP server. This example is the base for Cursor or Claude Desktop integrations when you want to run the Rhino MCP session from an external client.

{
  "mcpServers": {
    "rhino": {
      "command": "uvx",
      "args": ["rhinomcp"]
    }
  }
}

Troubleshooting

If the server does not connect, ensure the MCP plugin is loaded in Rhino and the MCP runtime (uv) is installed. Check that the command and arguments match the configuration example exactly. If a console window appears, keep it open while testing the connection. Refresh or restart the MCP server as needed.

Tools and capabilities

  • Create primitive objects: Point, Line, Polyline, Circle, Arc, Ellipse, Curve, Box, Sphere, Cone, Cylinder, Surface (from points)
  • Modify, delete, and inspect objects in the active Rhino document
  • Get detailed document information (limited to avoid large payloads)
  • Select objects by filters with logical combinations (and/or)
  • Manage layers: get/set current, create, delete
  • Execute Rhino Python scripts (experimental)
  • Get documentation for RhinoScript Python functions

Available tools

create_object

Create primitive Rhino objects such as Point, Line, Circle, Box, Sphere, Cylinder and more using MCP commands.

modify_object

Modify existing Rhino objects, including position, size, and attributes.

delete_object

Delete objects in the active document by ID or filter.

get_document_info

Retrieve information about the current Rhino document, including object lists and layers (limited to a practical subset).

select_objects

Select objects using filters like name, color, category, and logical combinations.

layer_management

Get, set, create, and delete layers to organize the document.

execute_script

Run Rhino Python scripts inside Rhino from MCP prompts (experimental).

get_script_documentation

Fetch documentation for RhinoScript Python functions.