Rhino

Rhino

jingcheng-chen

Developer Tools
Visit Server

README

RhinoMCP - Rhino Model Context Protocol Integration

RhinoMCP connects Rhino to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Rhino. This integration enables prompt assisted 3D modeling in Rhino 3D.

Demo

Demo 1

This demo shows how to ask AI to create custom scripts and execute them in Rhino. Click the image below to watch the video.

demo2

Demo 2

This demo shows how AI can interact with Rhino in two directions. Click the image below to watch the video.

demo1

Features

  • Two-way communication: Connect Claude AI to Rhino through a socket-based server
  • Object manipulation: Create, modify, and delete 3D objects in Rhino
  • Document inspection: Get detailed information about the current Rhino document
  • Script execution: Execute Rhinos python scripts in Rhino (experimental, may not work every time)

[!NOTE]
So far the tool only supports creating primitive objects for proof of concept. More geometries will be added in the future. Supported objects: Point, Line, Polyline, Curve, Box, Sphere

Components

The system consists of two main components:

  1. MCP Server (src/rhino_mcp/server.py): A Python server that implements the Model Context Protocol and connects to the Rhino plugin
  2. Rhino Plugin (src/rhino_mcp_plugin): A Rhino plugin that creates a socket server within Rhino to receive and execute commands

Installation

Prerequisites

  • Rhino 7 or newer (Works onWindows and Mac); make sure you Rhino is up to date.
  • Python 3.10 or newer
  • uv package manager

⚠️ Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both

Installing the Rhino Plugin

  1. Go to Tools > Package Manager
  2. Search for rhinomcp
  3. Click Install

Install uv

If you're on Mac, please install uv as

brew install uv

On Windows

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

⚠️ Do not proceed before installing UV

Config file

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

Claude for Desktop Integration

Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the above config file.

Cursor integration

Make sure your cursor is up to date.

Create a folder .cursor in your project root.

Create a file mcp.json in the .cursor folder and include the above config file:

Go to Cursor Settings > MCP and check if it's enabled.

Usage

Starting the Connection

RhinoMCP in the command line

  1. In Rhino, type mcpstart in the command line
  2. Make sure the MCP server is running in the rhino terminal

Using with Claude

Once the config file has been set on Claude, and the plugin is running on Rhino, you will see a hammer icon with tools for the RhinoMCP.

RhinoMCP in Claude

Using with Cursor

Once the config file has been set on Cursor, and the plugin is running on Rhino, you will see the green indicator in front of the MCP server.

RhinoMCP in Cursor

If not, try refresh the server in Cursor. If any console pops up, please do not close it.

Once it's ready, use Ctrl+I to open the chat box and start chatting with Rhino. Make sure you've selected Agent mode.

RhinoMCP in Cursor

Technical Details

Communication Protocol

The system uses a simple JSON-based protocol over TCP sockets:

  • Commands are sent as JSON objects with a type and optional params
  • Responses are JSON objects with a status and result or message

Limitations & Security Considerations

  • The get_document_info only fetches max 10 objects, layers, material etc. to avoid huge dataset that overwhelms Claude.
  • Complex operations might need to be broken down into smaller steps

Contributing

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

Disclaimer

This is a third-party integration and not made by Mcneel. Made by Jingcheng Chen

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python