RhinoMCP - UBOS

✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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:

  1. Rhino Plugin: A socket server that runs inside Rhino’s Python editor, providing a communication interface to Rhino’s functionality.
  2. MCP Server: An implementation of the Model Context Protocol that connects Claude AI to the Rhino plugin, enabling AI-controlled operations.

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
.venvScriptsactivate  # On Windows

# Install the package
pip install -e .

Usage

Step 1: Start the Rhino Bridge Server

  1. Open Rhino
  2. Type EditPythonScript in the command line to open Rhino’s Python editor
  3. Open the Rhino server script from src/rhino_plugin/rhino_server.py
  4. Run the script (F5 or click the Run button)
  5. 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
rhinomcp

Or run with custom settings:

rhinomcp --host 127.0.0.1 --port 5000 --rhino-host 127.0.0.1 --rhino-port 8888 --debug

Step 3: Connect with Claude Desktop or Windsurf

Configure Claude Desktop or Windsurf to connect to the MCP server at:

ws://127.0.0.1:5000

Example: 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

pytest

Code 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 documentation

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Featured Templates

View More
AI Engineering
Python Bug Fixer
117 943
AI Characters
Your Speaking Avatar
163 591
Verified Icon
AI Agents
AI Chatbot Starter Kit
1293 5671 5.0
Verified Icon
AI Assistants
Speech to Text
128 1296
Customer service
Service ERP
125 650

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.