Enables interactive 3D modeling, analysis, and design workflows in Rhinoceros 3D, including creating NURBS curves and executing Python scripts within Rhino's context.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RhinoMCPcreate a simple 3D cube with 2 unit sides"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RhinoMCP
RhinoMCP connects Rhino3D to Claude AI via the Model Context Protocol (MCP), enabling Claude to directly interact with and control Rhino3D for AI-assisted 3D modeling, analysis, and design workflows.
Project Overview
This integration consists of two main components:
Rhino Plugin: A socket server that runs inside Rhino's Python editor, providing a communication interface to Rhino's functionality.
MCP Server: An implementation of the Model Context Protocol that connects Claude AI to the Rhino plugin, enabling AI-controlled operations.
Related MCP server: SketchupMCP
Features
Socket-based bidirectional communication between Python and Rhino
Model Context Protocol server for Claude AI integration
Support for NURBS curve creation (initial test feature)
Python script execution within Rhino's context
Compatible with both Claude Desktop and Windsurf as clients
Installation
Requirements
Rhinoceros 3D (Version 7 or 8)
Python 3.10 or higher
Windows 10 or 11
Install Using uv (Recommended)
# Create and activate a virtual environment
mkdir -p .venv
uv venv .venv
source .venv/Scripts/activate # On Windows with Git Bash
# Install the package
uv pip install -e .Install Using pip
# Create and activate a virtual environment
python -m venv .venv
.venv\Scripts\activate # On Windows
# Install the package
pip install -e .Usage
Step 1: Start the Rhino Bridge Server
Open Rhino
Type
EditPythonScriptin the command line to open Rhino's Python editorOpen the Rhino server script from
src/rhino_plugin/rhino_server.pyRun the script (F5 or click the Run button)
Verify you see "Rhino Bridge started!" in the output panel
Step 2: Start the MCP Server
# Activate your virtual environment
source .venv/Scripts/activate # On Windows with Git Bash
# Start the MCP server
rhinomcpOr run with custom settings:
rhinomcp --host 127.0.0.1 --port 5000 --rhino-host 127.0.0.1 --rhino-port 8888 --debugStep 3: Connect with Claude Desktop or Windsurf
Configure Claude Desktop or Windsurf to connect to the MCP server at:
ws://127.0.0.1:5000Example: Creating a NURBS Curve
When connected to Claude, you can ask it to create a NURBS curve in Rhino with a prompt like:
Create a NURBS curve in Rhino using points at (0,0,0), (5,10,0), (10,0,0), and (15,10,0).Development
Setup Development Environment
# Clone the repository
git clone https://github.com/FernandoMaytorena/RhinoMCP.git
cd RhinoMCP
# Create and activate virtual environment
uv venv .venv
source .venv/Scripts/activate # On Windows with Git Bash
# Install development dependencies
uv pip install -e ".[dev]"Run Tests
pytestCode Style
This project uses Ruff for linting and formatting:
ruff check .
ruff format .Project Structure
RhinoMCP/
├── src/
│ ├── rhino_plugin/ # Code that runs inside Rhino
│ │ └── rhino_server.py
│ └── rhino_mcp/ # MCP server implementation
│ ├── rhino_client.py
│ └── mcp_server.py
├── tests/ # Test modules
├── docs/ # Documentation
├── config/ # Configuration files
├── ai/ # AI documentation and prompts
├── setup.py # Package installation
├── requirements.txt # Package dependencies
└── README.md # Project documentationLicense
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.