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 |
| Creación de puntos individuales o en lote |
| Líneas y polilíneas |
| Curvas NURBS interpoladas |
| Geometría circular |
| Polilíneas rectangulares |
| Primitivas sólidas |
| Extrusión y tubería a lo largo de curvas |
| Superficies NURBS y mallas |
| Puntos de texto |
| Superficies de loft a través de secciones |
| Barridos de uno y dos rieles |
| Revolución de perfiles alrededor de un eje |
| 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 |
| Modificaciones básicas |
| Agrupación |
| Unir y explotar geometría |
| Recortar y dividir curvas |
| Desfase de geometría |
| Tratamientos de bordes |
| Tapar breps abiertos |
| Edición de curvas |
| Proyectar curvas sobre superficies |
| 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 |
| Mediciones |
| Consultas espaciales |
| Encontrar intersecciones entre objetos |
| Análisis de curvatura |
| Pruebas de contención de puntos |
Diagnóstico (4 herramientas)
Herramienta | Descripción |
| Comprobar validez, encontrar geometría defectuosa |
| Encontrar huecos en superficies |
| Análisis de calidad de malla |
| 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 sync2. Iniciar el listener de Rhino
En Rhino:
Ve a Tools > PythonScript > Run
Selecciona
rhino/listener.pyDeberí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 textodiagnose-model: enfoque sistemático para encontrar y corregir problemas del modeloparametric-design: guía para flujos de trabajo paramétricos/Grasshopper
Recursos
El servidor expone datos en vivo como recursos MCP:
URI | Descripción |
| Resumen de la escena actual |
| Árbol de capas |
| Lista de materiales |
| Definiciones de bloques |
Configuración
Variable de entorno | Predeterminado | Descripción |
|
| Host del listener de Rhino |
|
| Puerto del listener de Rhino |
|
| 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_mcpPruebas de integración
Con Rhino en ejecución y el listener activo:
uv run pytest -v -m integrationProtocolo
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.
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceConnects Rhino3D to Claude AI via the Model Context Protocol, enabling AI-assisted 3D modeling and design workflows through direct control of Rhino's functionality.12
- AlicenseNot gradedqualityCmaintenanceEnables AI-powered computational design in Rhino/Grasshopper with ML-based automatic layout optimization, component clustering, performance prediction, and real-time code execution in running Rhino instances.16MIT
- AlicenseAqualityDmaintenanceEnables 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.1391MIT
- AlicenseNot gradedqualityBmaintenanceGOLEM-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.12MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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