Skip to main content
Glama
kbangaru-cyber

RhinoMCP

RhinoMCP: ein MCP-Server für Rhino 3D

105 Tools für KI-gesteuerte 3D-Modellierung, Analyse, Diagnose und Grasshopper-Integration über das Model Context Protocol.

RhinoMCP verbindet Claude mit Rhino 3D über eine umfassende Sammlung von Tools, die alles von grundlegenden Primitiven bis hin zu fortgeschrittener Oberflächenmodellierung (Loft, Sweep, Revolve), booleschen Operationen, Mesh-Diagnose, Blockverwaltung und parametrischem Design mit Grasshopper abdecken.

Architektur

┌────────────────┐   stdio    ┌──────────────┐   TCP/JSON    ┌──────────────┐
│ Claude Desktop │◄──────────►│  rhino_mcp   │◄─────────────►│    Rhino 3D  │
│                │   (MCP)    │  (Python)    │  localhost:   │  listener.py │
│                │            │  server.py   │    9876       │  (inside     │
└────────────────┘            └──────────────┘               │   Rhino)     │
                                                             └──────────────┘

MCP-Server (rhino_mcp/). Python-Paket mit FastMCP. Kommuniziert mit Claude über stdio und mit Rhino über TCP.

Rhino-Listener (rhino/listener.py). Python-Skript, das in Rhino läuft. Öffnet einen TCP-Server, empfängt JSON-Befehle, führt sie mit RhinoCommon/rhinoscriptsyntax aus und gibt Ergebnisse zurück.

Related MCP server: Grasshopper MCP

Funktionen

Geometrieerstellung (21 Tools)

Tool

Beschreibung

create_point, create_points

Einzel- oder Stapelpunkt-Erstellung

create_line, create_polyline

Linien und Polylinien

create_curve

Interpolierte NURBS-Kurven

create_circle, create_arc, create_ellipse

Kreisgeometrie

create_rectangle

Rechteckige Polylinien

create_sphere, create_box, create_cylinder, create_cone, create_torus

Volumenkörper-Primitive

create_extrusion, create_pipe

Extrudieren und Rohr entlang von Kurven

create_surface_from_points, create_mesh

NURBS-Oberflächen und Meshes

create_text

Textpunkte

create_loft

Loft-Oberflächen durch Querschnitte

create_sweep1, create_sweep2

Ein- und Zwei-Schienen-Sweeps

create_revolve

Profile um eine Achse drehen

create_planar_surface, create_patch

Planare und Patch-Oberflächen

Transformationen (8 Tools)

move, rotate, scale, scale_non_uniform, mirror, copy, array_linear, array_polar

Boolesche Operationen (3 Tools)

boolean_union, boolean_difference, boolean_intersection

Modifikation (18 Tools)

Tool

Beschreibung

delete, set_color, set_material, set_name, set_layer

Grundlegende Modifikationen

group, ungroup

Gruppierung

join, explode

Geometrie verbinden und explodieren

trim, split

Kurven trimmen und teilen

offset_curve, offset_surface

Geometrie versetzen

fillet_edge, chamfer_edge, fillet_curves

Kantenbearbeitung

cap_planar_holes

Offene Breps verschließen

extend_curve, rebuild_curve

Kurvenbearbeitung

project_to_surface

Kurven auf Oberflächen projizieren

duplicate_edge, duplicate_border

Kanten/Grenzen extrahieren

Blöcke und Instanzen (4 Tools)

create_block, insert_block, list_blocks, explode_block

Benutzerdaten (2 Tools)

set_user_text, get_user_text: speichern Metadaten, BIM-Daten, Kosten usw.

Ebenen (6 Tools)

list_layers, create_layer, delete_layer, set_layer_color, set_layer_visibility, set_current_layer

Materialien (3 Tools)

list_materials, create_material, assign_material

Analyse (10 Tools)

Tool

Beschreibung

get_bounding_box, get_area, get_volume, get_length

Messungen

distance, closest_point

Räumliche Abfragen

intersect

Schnittpunkte zwischen Objekten finden

get_curvature

Krümmungsanalyse

is_point_on_surface, is_point_in_solid

Punkt-Enthalten-Tests

Diagnose (4 Tools)

Tool

Beschreibung

check_objects

Gültigkeit prüfen, fehlerhafte Geometrie finden

get_naked_edges

Lücken in Oberflächen finden

check_mesh

Mesh-Qualitätsanalyse

repair_mesh

Mesh-Probleme automatisch beheben

Ansicht (5 Tools)

zoom_extents, set_view, capture_view (mit base64-Option), list_views, set_display_mode

Grasshopper (3 Tools)

gh_run_script, gh_set_slider, gh_get_outputs

Code-Ausführung (2 Tools)

run_python, run_command: voller Zugriff auf rhinoscriptsyntax und RhinoCommon

Rückgängig/Wiederholen (2 Tools)

undo, redo

Szene (4 Tools)

scene_info, get_objects, get_object (detailliert mit Kanteninformationen), select_objects

Import/Export (2 Tools)

export (.3dm, .obj, .stl, .step, .iges, .fbx), import_file

Fett = neu in v2.0

Voraussetzungen

  • Rhino 7 oder 8 (Windows oder Mac)

  • Python 3.10+

  • uv-Paketmanager (Installation)

Installation

1. Klonen und installieren

git clone https://github.com/kbangaru-cyber/rhino-mcp.git
cd Rhino_MCP
uv sync

2. Rhino-Listener starten

In Rhino:

  1. Gehen Sie zu Tools > PythonScript > Run

  2. Wählen Sie rhino/listener.py

  3. Sie sollten Folgendes sehen:

============================================================
  RhinoMCP Listener v2.0.0
  Listening on 127.0.0.1:9876
  Registered handlers: 90
  Ready for MCP connection (Claude)
============================================================

3. Claude Desktop konfigurieren

Claude Desktop

Bearbeiten Sie claude_desktop_config.json:

{
  "mcpServers": {
    "rhino": {
      "command": "uv",
      "args": ["--directory", "/ABSOLUTE/PATH/TO/Rhino_MCP", "run", "rhino-mcp"],
      "env": {
        "RHINO_MCP_HOST": "127.0.0.1",
        "RHINO_MCP_PORT": "9876",
        "RHINO_MCP_TIMEOUT": "30"
      }
    }
  }
}

Anwendungsbeispiele

Ein einfaches Gebäude erstellen

„Erstellen Sie eine 10x8x4 Meter große Box für das Gebäudevolumen, fügen Sie dann einen Zylinder mit Radius 2 und Höhe 6 in der Mitte für einen Turm hinzu. Vereinigen Sie sie und verrunden Sie alle Kanten mit Radius 0,3."

Modellprobleme diagnostizieren

„Überprüfen Sie alle Objekte in der Szene auf Probleme. Finden Sie alle nackten Kanten und sagen Sie mir, was repariert werden muss."

Parametrisches Design

„Erstellen Sie eine Vasenform, indem Sie eine Profilkurve erstellen und sie rotieren lassen. Erstellen Sie dann eine polare Anordnung dekorativer Zylinder darum."

Integrierte Prompts

RhinoMCP enthält geführte Workflow-Prompts:

  • model-from-description: strukturierter Workflow zum Erstellen von 3D-Modellen aus Textbeschreibungen

  • diagnose-model: systematischer Ansatz zum Finden und Beheben von Modellproblemen

  • parametric-design: Leitfaden für Grasshopper/parametrische Workflows

Ressourcen

Der Server stellt Live-Daten als MCP-Ressourcen bereit:

URI

Beschreibung

rhino://scene/info

Aktuelle Szenenübersicht

rhino://layers

Ebenenbaum

rhino://materials

Materialliste

rhino://blocks

Blockdefinitionen

Konfiguration

Umgebungsvariable

Standard

Beschreibung

RHINO_MCP_HOST

127.0.0.1

Rhino-Listener-Host

RHINO_MCP_PORT

9876

Rhino-Listener-Port

RHINO_MCP_TIMEOUT

30

Befehls-Timeout (Sekunden)

Entwicklung

# Install dev dependencies
uv sync --extra dev

# Run tests (no Rhino needed)
uv run pytest -v

# Lint
uv run ruff check .

# Type check
uv run mypy rhino_mcp

Integrationstests

Bei laufendem Rhino und aktivem Listener:

uv run pytest -v -m integration

Protokoll

Befehle sind JSON-Objekte, die über TCP gesendet werden (durch Zeilenumbrüche getrennt):

{"id": "abc123", "action": "create_sphere", "params": {"center": [0,0,0], "radius": 5}}

Antworten:

{"id": "abc123", "ok": true, "result": {"guid": "d3e4f5..."}}

Thread-Sicherheit

Der Rhino-Listener verwendet Rhino.RhinoApp.InvokeOnUiThread() auf Rhino 8+, um sicherzustellen, dass alle Geometrieoperationen im UI-Thread ausgeführt werden. Auf Rhino 7 werden Operationen direkt ausgeführt (was für Einzelclient-Verbindungen sicher ist).

Lizenz

MIT. Siehe LICENSE.

Autor

Karthick Raja B G, Portfolio · GitHub

Verwandte Arbeiten: SPIDER, ein Grasshopper-Plugin für computergestützte Geometrie und räumliche Analyse.

A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to interact with Autodesk Revit to query project data, manage elements, and execute generated code via the Model Context Protocol. It provides full compatibility with GitHub Copilot and Claude to automate BIM modeling workflows.
    13
    91
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    GOLEM-3DMCP implements the Model Context Protocol to give AI agents direct, programmatic control of Rhino 8 — create geometry, run booleans, drive Grasshopper, capture viewports, and execute arbitrary Python scripts, all through natural language. Works with Claude Code, Cursor, Windsurf, and any MCP-compatible host.
    12
    MIT

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.

  • Free OpenAI-compatible inference with signed provenance receipts and 3 focused MCP tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kbangaru-cyber/Rhino-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server