rhino3d.com
rhino3d.com logo

Rhino3D

Connects Rhino3D to Claude through a WebSocket bridge, enabling AI-assisted 3D modeling capabilities for creating and ma...

Created byApr 23, 2025

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.
  1. **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)

Install Using pip

Usage

Step 1: Start the Rhino Bridge Server

  1. Open Rhino
  1. Type `EditPythonScript` in the command line to open Rhino's Python editor
  1. Open the Rhino server script from `src/rhino_plugin/rhino_server.py`
  1. Run the script (F5 or click the Run button)
  1. Verify you see "Rhino Bridge started!" in the output panel

Step 2: Start the MCP Server

Or run with custom settings:

Step 3: Connect with Claude Desktop or Windsurf

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

Example: Creating a NURBS Curve

When connected to Claude, you can ask it to create a NURBS curve in Rhino with a prompt like:

Development

Setup Development Environment

Run Tests

Code Style

This project uses Ruff for linting and formatting:

Project Structure

License

[MIT License](LICENSE)

Contributing

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