Skip to main content
Glama
kbangaru-cyber

RhinoMCP

RhinoMCP: un servidor MCP para Rhino 3D

105 herramientas para modelado 3D, análisis, diagnóstico e integración con Grasshopper impulsados por IA a través del Model Context Protocol.

RhinoMCP conecta Claude con Rhino 3D mediante un conjunto completo de herramientas que cubren desde primitivas básicas hasta modelado avanzado de superficies (loft, barrido, revolución), operaciones booleanas, diagnóstico de mallas, gestión de bloques y diseño paramétrico con Grasshopper.

Arquitectura

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

Servidor MCP (rhino_mcp/). Paquete de Python que usa FastMCP. Se comunica con Claude mediante stdio y con Rhino mediante TCP.

Listener de Rhino (rhino/listener.py). Script de Python que se ejecuta dentro de Rhino. Abre un servidor TCP, recibe comandos JSON, los ejecuta usando RhinoCommon/rhinoscriptsyntax y devuelve los resultados.

Related MCP server: Grasshopper MCP

Capacidades

Creación de geometría (21 herramientas)

Herramienta

Descripción

create_point, create_points

Creación de puntos individuales o en lote

create_line, create_polyline

Líneas y polilíneas

create_curve

Curvas NURBS interpoladas

create_circle, create_arc, create_ellipse

Geometría circular

create_rectangle

Polilíneas rectangulares

create_sphere, create_box, create_cylinder, create_cone, create_torus

Primitivas sólidas

create_extrusion, create_pipe

Extrusión y tubería a lo largo de curvas

create_surface_from_points, create_mesh

Superficies NURBS y mallas

create_text

Puntos de texto

create_loft

Superficies de loft a través de secciones

create_sweep1, create_sweep2

Barridos de uno y dos rieles

create_revolve

Revolución de perfiles alrededor de un eje

create_planar_surface, create_patch

Superficies planas y de parche

Transformaciones (8 herramientas)

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

Operaciones booleanas (3 herramientas)

boolean_union, boolean_difference, boolean_intersection

Modificación (18 herramientas)

Herramienta

Descripción

delete, set_color, set_material, set_name, set_layer

Modificaciones básicas

group, ungroup

Agrupación

join, explode

Unir y explotar geometría

trim, split

Recortar y dividir curvas

offset_curve, offset_surface

Desfase de geometría

fillet_edge, chamfer_edge, fillet_curves

Tratamientos de bordes

cap_planar_holes

Tapar breps abiertos

extend_curve, rebuild_curve

Edición de curvas

project_to_surface

Proyectar curvas sobre superficies

duplicate_edge, duplicate_border

Extraer bordes/límites

Bloques e instancias (4 herramientas)

create_block, insert_block, list_blocks, explode_block

Datos de usuario (2 herramientas)

set_user_text, get_user_text: almacenar metadatos, datos BIM, costos, etc.

Capas (6 herramientas)

list_layers, create_layer, delete_layer, set_layer_color, set_layer_visibility, set_current_layer

Materiales (3 herramientas)

list_materials, create_material, assign_material

Análisis (10 herramientas)

Herramienta

Descripción

get_bounding_box, get_area, get_volume, get_length

Mediciones

distance, closest_point

Consultas espaciales

intersect

Encontrar intersecciones entre objetos

get_curvature

Análisis de curvatura

is_point_on_surface, is_point_in_solid

Pruebas de contención de puntos

Diagnóstico (4 herramientas)

Herramienta

Descripción

check_objects

Comprobar validez, encontrar geometría defectuosa

get_naked_edges

Encontrar huecos en superficies

check_mesh

Análisis de calidad de malla

repair_mesh

Corregir problemas de malla automáticamente

Vista (5 herramientas)

zoom_extents, set_view, capture_view (con opción base64), list_views, set_display_mode

Grasshopper (3 herramientas)

gh_run_script, gh_set_slider, gh_get_outputs

Ejecución de código (2 herramientas)

run_python, run_command: acceso completo a rhinoscriptsyntax y RhinoCommon

Deshacer/Rehacer (2 herramientas)

undo, redo

Escena (4 herramientas)

scene_info, get_objects, get_object (detallado con información de bordes), select_objects

Importar/Exportar (2 herramientas)

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

Negrita = nuevo en v2.0

Requisitos previos

  • Rhino 7 u 8 (Windows o Mac)

  • Python 3.10+

  • uv gestor de paquetes (instalación)

Instalación

1. Clonar e instalar

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

2. Iniciar el listener de Rhino

En Rhino:

  1. Ve a Tools > PythonScript > Run

  2. Selecciona rhino/listener.py

  3. Deberías ver:

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

3. Configurar Claude Desktop

Claude Desktop

Edita 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"
      }
    }
  }
}

Ejemplos de uso

Crear una forma de edificio simple

"Crea una caja de 10x8x4 metros para el volumen del edificio, luego añade un cilindro de radio 2 y altura 6 en el centro para una torre. Únelos y redondea todos los bordes con radio 0.3."

Diagnosticar problemas del modelo

"Comprueba todos los objetos de la escena en busca de problemas. Encuentra bordes abiertos y dime qué hay que corregir."

Diseño paramétrico

"Crea una forma de jarrón haciendo una curva de perfil y revolucionándola. Luego crea una matriz polar de cilindros decorativos a su alrededor."

Prompts integrados

RhinoMCP incluye prompts de flujo de trabajo guiados:

  • model-from-description: flujo de trabajo estructurado para crear modelos 3D a partir de descripciones de texto

  • diagnose-model: enfoque sistemático para encontrar y corregir problemas del modelo

  • parametric-design: guía para flujos de trabajo paramétricos/Grasshopper

Recursos

El servidor expone datos en vivo como recursos MCP:

URI

Descripción

rhino://scene/info

Resumen de la escena actual

rhino://layers

Árbol de capas

rhino://materials

Lista de materiales

rhino://blocks

Definiciones de bloques

Configuración

Variable de entorno

Predeterminado

Descripción

RHINO_MCP_HOST

127.0.0.1

Host del listener de Rhino

RHINO_MCP_PORT

9876

Puerto del listener de Rhino

RHINO_MCP_TIMEOUT

30

Tiempo de espera del comando (segundos)

Desarrollo

# 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

Pruebas de integración

Con Rhino en ejecución y el listener activo:

uv run pytest -v -m integration

Protocolo

Los comandos son objetos JSON enviados a través de TCP (delimitados por nueva línea):

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

Respuestas:

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

Seguridad de hilos

El listener de Rhino usa Rhino.RhinoApp.InvokeOnUiThread() en Rhino 8+ para garantizar que todas las operaciones de geometría se ejecuten en el hilo de la interfaz de usuario. En Rhino 7, las operaciones se ejecutan directamente (lo cual es seguro para conexiones de un solo cliente).

Licencia

MIT. Consulta LICENSE.

Autor

Karthick Raja B G, portafolio · GitHub

Trabajo relacionado: SPIDER, un complemento de Grasshopper para geometría computacional y análisis espacial.

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