rhino-mcp
README.md
# Rhinoceros 3D & Grasshopper MCP Bridge 🦏
[](LICENSE)
[](https://www.python.org/downloads/)
[](https://www.rhino3d.com/)
[](https://www.grasshopper3d.com/)
[](https://github.com/Aaradhya-Dev-Tamrakar/autodesk-mcp)
A Model Context Protocol (MCP) server that connects AI assistants (**Google Antigravity**, **Claude Desktop**, **Cursor**) directly with **Rhinoceros 3D and Grasshopper**.
Built for **architects, B.Arch students, and parametric designers**, enabling AI agents to programmatically generate freeform NURBS geometry, evaluate Grasshopper definitions, manipulate layers, and capture viewport renderings.
---
## ⚡ Key Highlights
* **RhinoCommon & CPython 3 Support**: Works with Rhino 7 (IronPython) and Rhino 8 (native CPython 3.9+).
* **Grasshopper Parametric Solving**: Load `.gh` / `.ghx` definitions, feed dynamic slider parameters, compute solutions, and bake geometry into Rhino layers.
* **Live Fleet Registration**: Automatically registers its dynamic port and PID with `%LOCALAPPDATA%\AutodeskMCP\registry.json`, enabling single-entry routing through [autodesk-mcp](https://github.com/Aaradhya-Dev-Tamrakar/autodesk-mcp).
* **Architecture & Freeform Tool Suite**:
* **Document Inspection**: Document units, layer hierarchies, object counts, active viewports.
* **3D NURBS Primitives**: Boxes, spheres, cylinders, curves, and lofts.
* **Grasshopper Solver**: Automated parameter sweeps and optimization.
* **Viewport Capture**: Real-time snapshot of shaded/rendered viewport encoded to base64.
---
## 🚀 Quick Start
### 1. Installation
Run PowerShell installer:
```powershell
.\install.ps1
```
Or copy `rhino_mcp/` into your Rhino scripts directory:
`%APPDATA%\McNeel\Rhinoceros\scripts\`
### 2. Running inside Rhino
In Rhino's command bar, run:
```text
_-RunPythonScript "rhino_mcp/startup.py"
```
### 3. Routing via Master Gateway
When running, the [autodesk-mcp Gateway](https://github.com/Aaradhya-Dev-Tamrakar/autodesk-mcp) auto-detects Rhino and routes `rhino_*` tools seamlessly.
---
## 🛠️ Tool Suite
| Tool | Description |
| :--- | :--- |
| `rhino_get_document_info` | Retrieves active document name, units, layers, and viewports. |
| `rhino_create_geometry` | Constructs 3D primitives (box, sphere, cylinder, NURBS curve). |
| `rhino_run_grasshopper` | Executes a parametric Grasshopper definition with dynamic input parameters. |
| `rhino_capture_viewport` | Captures the active Rhino 3D viewport into base64 image. |
---
## 📄 License
MIT License © 2026 Aaradhya Dev Tamrakar
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues