
Rhino
HTTP-SSEAI-controlled Rhino3D modeling through Model Context Protocol integration
AI-controlled Rhino3D modeling through Model Context Protocol integration
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.
This integration consists of two main components:
# 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 .
# Create and activate a virtual environment python -m venv .venv .venv\Scripts\activate # On Windows # Install the package pip install -e .
EditPythonScript
in the command line to open Rhino's Python editorsrc/rhino_plugin/rhino_server.py
# Activate your virtual environment source .venv/Scripts/activate # On Windows with Git Bash # Start the MCP server rhinomcp
Or run with custom settings:
rhinomcp --host 127.0.0.1 --port 5000 --rhino-host 127.0.0.1 --rhino-port 8888 --debug
Configure Claude Desktop or Windsurf to connect to the MCP server at:
ws://127.0.0.1:5000
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).
# 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]"
pytest
This project uses Ruff for linting and formatting:
ruff check . ruff format .
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 documentation
Contributions are welcome! Please feel free to submit a Pull Request.