RhinoMCP - Integración del protocolo de contexto del modelo de Rhino
Este proyecto, desarrollado por REER, INC., está disponible para que la comunidad lo use y pruebe. Invitamos a quienes contribuyan a mejorar y ampliar la funcionalidad de RhinoMCP. RhinoMCP conecta Rhino, Grasshopper y otros con Claude AI mediante el Protocolo de Contexto de Modelo (MCP), lo que permite a Claude interactuar directamente con Rhino y controlarlo. Esta integración facilita el modelado 3D, la creación y manipulación de escenas con ayuda de indicaciones. (Inspirado en blender_mcp )
El proyecto proporciona dos implementaciones de servidor:
- Servidor MCP con protocolo Stdio estándar para la integración de Claude Desktop
- Servidor de protocolo SSE (Server-Side Events) para integración de cliente web personalizado
Características
Rinoceronte
- Comunicación bidireccional : conecte Claude AI a Rhino a través de un servidor basado en sockets
- Manipulación y gestión de objetos : cree y modifique objetos 3D en Rhino, incluidos metadatos
- Gestión de capas : ver e interactuar con las capas de Rhino
- Inspección de escena : obtenga información detallada sobre la escena actual de Rhino (incluida captura de pantalla)
- Ejecución de código : Ejecute código Python arbitrario en Rhino desde Claude
- Selección de objetos : obtenga información sobre los objetos seleccionados actualmente en Rhino
- Documentación de RhinoScriptSyntax : Busque la documentación de RhinoScriptSyntax
Grasshopper (en desarrollo)
Nota importante : Si bien las herramientas de integración de Grasshopper pueden estar disponibles en Claude, aún se encuentran en desarrollo y aún no están completamente disponibles. Estamos trabajando para implementar la funcionalidad completa de Grasshopper en futuras versiones.
Componentes
El sistema consta de dos componentes principales:
- Script del lado de Rhino (
rhino_script.py
) : un script de Python que se ejecuta dentro de Rhino para crear un servidor de sockets que recibe y ejecuta comandos - Servidor MCP (
rhino_mcp/server.py
) : un servidor Python que implementa el Protocolo de contexto de modelo y se conecta al script de Rhino
Instalación
Prerrequisitos
- Rhino 7 o más reciente
- Python 3.10 o más reciente
- administrador de paquetes uv
- Conda (para la gestión del entorno) o una instalación de Python existente
Opciones de instalación
Instalar uv
Si estás en Mac, abre la terminal y ejecuta:
En Windows, abra PowerShell y ejecute
De lo contrario, las instrucciones de instalación se encuentran en su sitio web: Instalar uv
⚠️ No proceda antes de instalar UV
Opción 1: Instalación rápida con uvx/pip (recomendada)
Primero, necesitas integrarte con Claude Desktop:
- Vaya a Claude Desktop > Configuración > Desarrollador > Editar configuración
- Abra el archivo
claude_desktop_config.json
y agregue la siguiente configuración:
- Guardar el archivo
O si desea utilizar el Cursor: Para usuarios de Mac, vaya a Configuración > MCP y pegue lo siguiente
- Para usarlo como servidor global, use el botón "agregar nuevo servidor MCP global" y pegue
- Para utilizarlo como un servidor específico del proyecto, cree
.cursor/mcp.json
en la raíz del proyecto y péguelo
Para los usuarios de Windows, vaya a Configuración > MCP > Agregar servidor, agregue un nuevo servidor con la siguiente configuración:
A continuación, instale el script del lado de Rhino:
- Descargue el archivo
rhino_script.py
del repositorio - Abrir Rhino
- Para Rhino 7:
- Abra el editor de Python:
- Haga clic en el menú "Herramientas"
- Seleccione "Editor de Python" (o presione Ctrl+Alt+P / Cmd+Alt+P)
- En el editor de Python:
- Haga clic en "Archivo" > "Abrir".
- Navegue hasta
rhino_script.py
y selecciónelo - Haga clic en "Ejecutar" (o presione F5)
- Abra el editor de Python:
- Para Rhino 8:
- Haga clic en el menú "Herramientas"
- Seleccione "RhinoScript" > "Ejecutar"
- Navegue hasta
rhino_script.py
y selecciónelo
- El script se iniciará automáticamente y debería ver estos mensajes en el Editor de Python:Copy
Por último, reinicie Claude Desktop, iniciará automáticamente el servidor MCP y se conectará a Rhino.
Este método se recomienda para la mayoría de los usuarios que solo desean utilizar RhinoMCP sin modificar su código fuente.
También puedes ver el vídeo tutorial de este método:
Opción 2: Instalación de desarrollo local
Si desea modificar el código fuente o contribuir al proyecto, puede instalarlo en modo de desarrollo:
Clonar el repositorio
Usando Conda
- Cree un nuevo entorno conda con Python 3.10:Copy
- Instalar el administrador de paquetes
uv
:Copy - Instalar el paquete en modo de desarrollo:Copy
Uso de una instalación de Python existente
Si ya tiene Python instalado, puede instalar el servidor MCP directamente en su entorno base:
- Instalar el paquete en modo de desarrollo:Copy
- Tenga en cuenta que para configurar Claude Desktop, deberá encontrar la ruta correcta del sistema a su instalación de Python. Puede encontrarla ejecutando:Copy
Integración de escritorio de Claude
Igual que la Opción 1, pero debes especificar la ruta completa al intérprete de Python en el archivo claude_desktop_config.json
:
Ejemplos de rutas de Python:
- Windows:
C:\\Users\\username\\anaconda3\\envs\\rhino_mcp\\python.exe
- macOS:
/Users/username/anaconda3/envs/rhino_mcp/bin/python
Asegúrese de:
- Reemplace la ruta de Python con la ruta a Python en su entorno conda o Python del sistema si usa el segundo método
- Guarde el archivo y reinicie Claude Desktop
Nota importante: si está utilizando un entorno conda, debe especificar la ruta completa al intérprete de Python como se muestra arriba.
Protocolo SSE (Eventos del lado del servidor) Servidor Rhino MCP
El servidor SSE es una implementación alternativa del servidor MCP de Rhino que utiliza eventos del lado del servidor para la comunicación en tiempo real. Este servidor se ejecuta en 127.0.0.1:8080
y está diseñado para funcionar con clientes web personalizados. Ofrece la misma funcionalidad que el servidor MCP estándar, pero utiliza un protocolo de transporte diferente, más adecuado para aplicaciones web.
Para utilizar el servidor SSE:
- Ejecute el servidor usando:
python -m rhino_mcp.server_sse
- Conecte su cliente web a
ws://127.0.0.1:8080/sse
- Enviar mensajes a
http://127.0.0.1:8080/messages/
El servidor SSE admite todas las mismas operaciones de Rhino que el servidor MCP estándar, lo que lo hace ideal para crear interfaces web personalizadas para el control de Rhino.
Uso
Usando con Claude
Una vez conectado, Claude u otro LLM pueden utilizar las siguientes herramientas MCP:
get_rhino_scene_info()
: obtiene información simplificada de la escena centrándose en capas y objetos de ejemploget_rhino_layers()
: obtiene información sobre todas las capas en la escena de Rhinoexecute_code(code)
: Ejecuta código Python arbitrario en Rhinoget_rhino_objects_with_metadata(filters, metadata_fields)
: obtiene información detallada sobre los objetos en la escena con sus metadatos, con filtrado opcionalcapture_rhino_viewport(layer, show_annotations, max_size)
: captura la ventana gráfica con anotaciones opcionales y filtrado de capasget_rhino_selected_objects(include_lights, include_grips)
: obtiene información sobre los objetos actualmente seleccionados en la ventana gráfica de Rhinolook_up_RhinoScriptSyntax(function_name)
: busque documentación para una función RhinoScriptSyntax directamente desde el sitio web para desarrolladores de Rhino3D
Comandos de ejemplo
Aquí hay algunos ejemplos de lo que puedes pedirle a Claude que haga:
- Infórmate sobre la situación actual de Rhino.
- "Crear un cubo en el origen"
- Obtener todas las capas del documento de Rhino
- "Ejecute este código Python en Rhino: ..."
- "¿Puedes decirme la dimensión de la pared que seleccioné en Rhino?"
- Ayúdame a calcular la superficie del piso seleccionado en Rhino.
- "Muéstrame la documentación de la función SelectedObjects"
- "¿Cómo uso la función AddCylinder en Rhino Script?"
- ...
Contribuyendo
¡Agradecemos las contribuciones al proyecto RhinoMCP! Si te interesa colaborar, aquí tienes algunas maneras de hacerlo:
- Informes de errores : si encuentra un error, cree un problema con una descripción detallada del problema y los pasos para reproducirlo.
- Solicitudes de funciones : ¿Tienes una idea para una nueva función? Abre un problema para discutirlo.
- Contribuciones de código : ¿Quieres agregar una función o corregir un error?
- Bifurcar el repositorio
- Crea una nueva rama para tus cambios
- Envíe una solicitud de extracción con una descripción clara de sus cambios
Asegúrese de que su código siga el estilo existente e incluya la documentación adecuada.
Descargo de responsabilidad
Este software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita. REER, INC. no ofrece garantías ni declaraciones con respecto al software, incluyendo, entre otras, la calidad, la fiabilidad, la compatibilidad o la idoneidad para un fin determinado.
Al utilizar este software, usted reconoce y acepta que REER, INC. no será responsable de ningún daño directo, indirecto, incidental, especial o consecuente que surja del uso o la imposibilidad de usar el software.
Este proyecto está en desarrollo activo y puede contener errores o funciones incompletas. Si bien nos esforzamos por garantizar la calidad y la fiabilidad, le rogamos que tenga cuidado al implementarlo en entornos de producción.
Documentación y recursos relevantes
- Documentación oficial del MCP:
- Desarrollador de clientes: https://modelcontextprotocol.io/quickstart/client
- Desarrollador de servidores: https://modelcontextprotocol.io/quickstart/server
- Documentación de MCP de código abierto: https://github.com/cyanheads/model-context-protocol-resources
- Desarrollador de cliente: https://github.com/cyanheads/model-context-protocol-resources/blob/main/guides/mcp-client-development-guide.md
- Desarrollador de servidores: https://github.com/cyanheads/model-context-protocol-resources/blob/main/guides/mcp-server-development-guide.md
- Interfaz web abierta para crear una interfaz de agente de IA: https://github.com/open-webui/open-webui
- Cambiar entre el servidor Stdio y el servidor SSE: https://github.com/supercorp-ai/supergateway
This server cannot be installed
Un servidor de protocolo de contexto de modelo que conecta Rhino y Grasshopper con Claude AI, lo que permite el modelado 3D asistido por indicaciones, la creación de escenas y la manipulación a través de la interacción directa de la IA con el entorno de Rhino.