RhinoMCP
jingcheng-chen/rhinomcp · 401 stars · Python · MIT
MCP server RhinoMCP connects Rhino 3D to AI Agent through the Model Context Protocol (MCP)
Install
claude mcp add rhino -- uvx rhinomcp@latestThese repos do not share one command. When an entry shows a command, it was copied as published. Check the repo's README before you run it.
Files
RhinoMCP
Control Rhino 3D and Grasshopper with AI, in plain language.
RhinoMCP connects Rhino to AI agents through the Model Context Protocol, so assistants like Claude and Cursor can model geometry, read your document, and build Grasshopper definitions for you, just by chatting.
Quick start · What it can do · Usage · Examples · Tool reference
English · 简体中文
Highlights
For development of the autonomous improvement experiments, start with the continuation guide.
- Describe what you want and the assistant builds it in Rhino.
- It reads your document and can capture the viewport, so it works from what is actually on screen.
- It scripts Grasshopper for you: finding components, wiring them, setting sliders, and solving.
- A single plugin and a single config entry cover both Rhino and Grasshopper.
- When you need more control, it can run native Rhino commands, RhinoScript-Python, or RhinoCommon C#.
[!NOTE] RhinoMCP targets Rhino 8 on Windows and macOS.
Demos
Two-way interaction: the AI both creates and reads geometry.
Custom scripts: the AI writes and runs scripts inside Rhino.
Prefer a walkthrough? Nate made a showcase and install tutorial on YouTube.
What it can do
Rhino
Grasshopper
Quick start
Three steps: install the Rhino plugin, connect your AI client, then start the bridge in Rhino.
1. Install the Rhino plugin
In Rhino, open Tools → Package Manager, search for rhinomcp, and click Install. Restart Rhino.
2. Connect your AI client
#### Option A: ask your AI assistant to install it (recommended)
If you use an agentic assistant (Codex, Claude Code, Cursor, Cline, and the like), paste this prompt:
Please install https://github.com/jingcheng-chen/rhinomcp as a local MCP server named `rhino`.
#### Option B: Install the mcp server or manually edit the config yourself
Codex, in one command:
codex mcp add rhino --env RHINO_MCP_HOST=127.0.0.1 -- uvx rhinomcp@latest
Claude Code, in one command:
claude mcp add rhino -- uvx rhinomcp@latest
ChatGPT: use Codex for the local setup above. ChatGPT apps/MCP connectors currently connect to remote MCP servers, not local stdio commands like uvx rhinomcp. If you want to build a ChatGPT app around RhinoMCP, use ChatGPT developer mode with a remote or tunneled MCP endpoint.
You can also manually edit the config yourself:
{
"mcpServers": {
"rhino": {
"command": "uvx",
"args": ["rhinomcp@latest"],
"env": {
"RHINO_MCP_HOST": "127.0.0.1"
}
}
}
}
[!IMPORTANT] The launcher
uvxcomes from uv. If you don't have it yet: macOSbrew install uv· Windowspowershell -c "irm https://astral.sh/uv/install.ps1 | iex"Run only one RhinoMCP server at a time (Codex, Claude, Cursor, etc. — not several at once).
To clean up a stale rhinomcp process each time your client launches:
macOS / Linux
{
"mcpServers": {
"rhino": {
"command": "sh",
"args": ["-c", "killall rhinomcp 2>/dev/null; uvx rhinomcp@latest"]
}
}
}
Windows
{
"mcpServers": {
"rhino": {
"command": "cmd",
"args": ["/c", "taskkill /F /IM rhinomcp.exe 2>nul & uvx rhinomcp@latest"]
}
}
}
3. Start the Rhino bridge
With Rhino open, type mcpstart in the command line. This starts the TCP bridge the server connects to (mcpstop ends it). Run it once per Rhino session.
Staying up to date
RhinoMCP has three parts that update separately:
- Python server.
uvx rhinomcp@latestasks PyPI for the newest release every time your
client starts the server; plain uvx rhinomcp keeps the first version it downloaded. If you work offline, install it once with uv tool install rhinomcp and run uv tool upgrade rhinomcp when convenient.
- Rhino plugin. Installed through the Package Manager, Rhino checks for updates at startup and
installs them when "Automatically update packages when Rhino starts" is enabled; the new version loads on the next restart. A plugin installed by dragging a .rhp into Rhino is not updated.
- AI client. It reads the tool list when it launches the server, so restart the client (or
reconnect the server) after an update.
The server reads the plugin's version when it connects and warns in its log when the two differ. A tool that needs a newer plugin fails with an update instruction instead of silently doing something else, and describe_capabilities reports both versions.
Usage
With the bridge running and your client connected, you'll see the RhinoMCP tools. From there, just chat: ask the assistant to model something, inspect your scene, or build a Grasshopper graph.
For Grasshopper, you only need Rhino open with mcpstart running. The assistant can open or create the Grasshopper document itself, then build the definition. For example: _"create a point attractor pattern with cylinders that have different heights."_
Example prompts
Create 6×6×6 boxes on a 10-unit grid from the origin, sizes ramping from 1 to 5, with a blue-to-red gradient color based on size. Use RhinoScript Python.
Make a Rhinoceros animal out of cubic blocks in cartoon colors. Then change its head to red, and rotate the selected object 90° around the Z axis.
Create a point attractor pattern in Grasshopper: a grid of cylinders whose heights change with
Facts
- Kind
- MCP server
- Repo
- jingcheng-chen/rhinomcp
- Group
- Uncategorized
- Stars
- 401
- License
- MIT
- Language
- Python
- Last push
- 2026-09-14
- Forks
- 104
- 1Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 2Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
- 3Gitmodelcontextprotocol/serversA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.85.8k
- 4Memorymodelcontextprotocol/serversA basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.85.8k
- 5Sequential Thinkingmodelcontextprotocol/serversAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.85.8k
- 6Timemodelcontextprotocol/serversA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.85.8k