Skip to content
StableCAD & Parametric

MCP for Rhino — Connect AI Agents to Rhino

Agents that understand documents, not just commands. Inspect layers, units and tolerances first, then build geometry that respects the file you actually have open.

Read-only by default8 typed toolsCheckpointed writes
Technical specification
Host software
Rhino 7, Rhino 8, Rhino 9 (WIP track)
Runtime
RhinoCommon / .NET 7 + Python 3 bridge
Transport
stdio (local) and streamable HTTP (studio)
Install
Yak package + npx dccmcp-rhino
Grasshopper
Solver control, slider input, bake-back, definition introspection
Platforms
Windows, macOS
Last reviewed
2026-09-20
Overview

What is MCP for Rhino?

MCP for Rhino is a local MCP server plus a Rhino plugin that connects AI agents to a real Rhino session. Agents discover 8 typed tools — including doc.inspect, curve.create, surface.loft and block.instance_place — and call them to inspect, create, modify and validate work inside the live application.

Unlike generated Rhino scripts, every call is validated against your current document, classified as read, write or execute, and recorded in an audit log. Rhino stays open, the document stays live, and destructive operations are checkpointed so they can be rolled back.

It works with Claude Code, Codex, Cursor, GitHub Copilot, Claude Desktop, Gemini CLI, Trae, Doubao, Qwen Code, CodeBuddy, Custom MCP clients over stdio or streamable HTTP.

  • Host software: Rhino 7, Rhino 8, Rhino 9 (WIP track)
  • Runtime: RhinoCommon / .NET 7 + Python 3 bridge
  • Transport: stdio (local) and streamable HTTP (studio)
Why it breaks

What goes wrong when agents drive Rhino without a contract

01

Tolerances and units silently break geometry

A model that assumes millimetres produces garbage in a document set to feet. Agents need the document context before they create anything.

02

Grasshopper definitions are opaque to automation

Agent-driven parametric work usually means scripting components blind. Without introspection, the agent cannot tell which sliders matter or which outputs to bake.

03

Bake operations pollute the document

Uncontrolled bake-back fills layers with unnamed geometry, breaks block definitions and makes downstream drafting unreliable.

How it works

How MCP for Rhino keeps intent, structure and traceability intact

An MCP server and Rhino plugin that gives agents typed access to Rhino documents and Grasshopper definitions: geometry creation, layer and block management, solver control and bake-back.

Document-aware geometry

Every geometry tool receives unit and tolerance context from doc.inspect, so a curve created by an agent lands at the radius your document expects.

Grasshopper introspection

Enumerate inputs and outputs, read slider ranges, set values, resolve, then bake specific outputs to named layers — the whole loop is scriptable and reviewable.

Named-layer discipline

Bake-back targets are declared explicitly. The agent must select or create a layer, and every inserted object carries provenance metadata.

Blocks and instances, not duplicates

Place and transform block instances instead of exploding geometry, keeping large models fast and drawings consistent.

Tool reference

MCP for Rhino tools — every tool and its risk class

Agents discover this list at connect time. You decide which entries are auto-approved, which need a human and which are denied in production files.
  • doc.inspectUnits, tolerances, layers, groups, blocks, named views and object counts.read
  • curve.createLines, arcs, polylines and interpolated curves with validated parameters.write
  • surface.loftLoft, revolve, extrude and sweep operations over typed curve inputs.write
  • block.instance_placePlace and transform block instances with rotation and scale constraints.write
  • grasshopper.set_inputSet slider, toggle, value-list and panel inputs by nickname with range checks.write
  • grasshopper.solveTrigger a solve, wait for completion and return structured output metadata.execute
  • grasshopper.bakeBake named outputs to explicit layers with provenance attributes.write
  • export.geometryExport selections to STEP, IGES, DWG, OBJ or 3MF with unit conversion.execute
Install

Install MCP for Rhino in four steps

Everything runs locally. The server binds to loopback by default and only exposes the tools you approve in Rhino.

Pre-release. These commands describe the interface we are shipping for MCP for Rhino — the packages are not published yet. Get notified when MCP for Rhino launches.

STEP 01

Install the Rhino plugin

Install the Yak package from the Rhino Package Manager, or via the command line on build machines.

yak install dccmcp-rhino
STEP 02

Start the bridge

The bridge connects your MCP client to the running Rhino document and to any open Grasshopper definitions.

npx dccmcp-rhino@latest serve --doc active
STEP 03

Register the server

Register the bridge with Claude Code, Codex, Cursor, OpenClaw or any other MCP client. Point it at the running document, or let it launch Rhino headlessly for batch work.

{
  "mcpServers": {
    "rhino": { "command": "npx", "args": ["dccmcp-rhino", "serve"] }
  }
}
STEP 04

Bind a definition

Point the agent at one or more .gh files so it can introspect inputs and outputs before it changes anything.

dccmcp-rhino bind ./facade-generator.gh

MCP for Rhino works with the agents you already use

  • Claude Code
  • Codex
  • Cursor
  • GitHub Copilot
  • Claude Desktop
  • Gemini CLI
  • Trae
  • Doubao
  • Qwen Code
  • CodeBuddy
  • Custom MCP clients

Any other MCP-compatible client works too — one config entry, stdio by default.

Read the docs
FAQ

Questions teams ask before they install

If something is missing, ask us directly — we answer technical questions with technical answers.
  • Yes. Point the server at a .gh or .ghx file and it will introspect components, inputs, outputs and slider ranges. You do not need to rewrite definitions for the agent to use them.

  • doc.inspect returns the document unit system and tolerances, and geometry tools normalize to them. If the agent requests a value that violates tolerance constraints, the call is rejected with an explanation instead of silently producing bad geometry.

  • No. Rhino 7 and Rhino 8 are both supported, with an early track for Rhino 9 WIP. Some Grasshopper introspection features are richer on Rhino 8 and newer.

  • Bake targets are explicit. The agent must declare an existing or new layer, and each inserted object gets provenance attributes naming the definition, run ID and timestamp.

  • Yes. The bridge supports a headless mode for CI and batch pipelines, subject to your Rhino licensing terms for unattended use.

npx dccmcp-blender@latest serve

Put an agent inside your real tools — without putting your pipeline at risk

Install an integration, set a policy, and let your agent inspect, build and validate work in Blender, Maya, Houdini, 3ds Max, Rhino, ZBrush, Photoshop, FreeCAD, QGIS or OpenCV. Free to start, local by default.

macOS · Windows · Linux — no cloud dependency required