Skip to main content
Glama
Aaradhya-Dev-Tamrakar

rhino-mcp

README.md
# Rhinoceros 3D & Grasshopper MCP Bridge 🦏

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
[![Rhinoceros](https://img.shields.io/badge/Rhino-7%20%2F%208-red.svg)](https://www.rhino3d.com/)
[![Grasshopper](https://img.shields.io/badge/Grasshopper-Parametric-green.svg)](https://www.grasshopper3d.com/)
[![Ecosystem](https://img.shields.io/badge/AEC_MCP_Fleet-Parametric_Architecture-6366f1.svg)](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