GR

goldsmith323/rhino_gh_mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

11 stars 10 forks Качество 56 Тренд 18

MCP providing 30+ tools for interacting with Rhino 3D and Grasshopper through LLM

Обзор

A Model Context Protocol (MCP) server providing 30+ tools for interacting with Rhino 3D and Grasshopper through natural language. Features include parametric geometry generation, cross-file workflows, intelligent geometry transfer, and automated workflow suggestions. Uses an HTTP bridge architecture to handle Python version compatibility between MCP (Python 3.10+) and Rhino's IronPython. - - Comprehensive toolset for Rhino 3D and Grasshopper automation - - Automatically converts and validates geometry between files (Lines, Curves, Surfaces, Meshes, Breps) - - Automated parameter discovery using eml_ prefix for cross-file workflows - - JSON metadata system suggests file sequences and parameter connections - - Auto-launching Grasshopper, batch file operations, file verification - - Toggle verbose output via .

README

Показан фрагмент оригинального README. Открыть оригинал.

Workshop 1: Agentic AI Design Orchestration using MCP

AAG2025: Advances in Architectural Geometry - Massachusetts Institute of Technology | 16—17 November 2025 | Workshop Page

Rhino Grasshopper MCP Server

A Model Context Protocol (MCP) server providing 30+ tools for interacting with Rhino 3D and Grasshopper through natural language. Features include parametric geometry generation, cross-file workflows, intelligent geometry transfer, and automated workflow suggestions. Uses an HTTP bridge architecture to handle Python version compatibility between MCP (Python 3.10+) and Rhino’s IronPython.

Architecture

┌─────────────────┐         ┌──────────────────┐         ┌─────────────┐
│   MCP Client    │ ◄─────► │   MCP Server     │ ◄─────► │   Rhino     │
│                 │   MCP   │ (Python 3.10+)   │  HTTP   │   Bridge    │
└─────────────────┘         └──────────────────┘         └─────────────┘
                                                              ▲
                                                              │
                                                         Rhino API
                                                         Grasshopper API

Key Features

  • 30+ Tools - Comprehensive toolset for Rhino 3D and Grasshopper automation
  • Smart Geometry Transfer - Automatically converts and validates geometry between files (Lines, Curves, Surfaces, Meshes, Breps)
  • EML Convention - Automated parameter discovery using eml_ prefix for cross-file workflows
  • Workflow Suggestions - JSON metadata system suggests file sequences and parameter connections
  • File Management - Auto-launching Grasshopper, batch file operations, file verification
  • DEBUG_MODE - Toggle verbose output via .env file for 60-80% token savings in production
  • Custom Scripts - Execute Python code in Grasshopper with full access to component data
  • Geometry Baking - User-controlled baking to Rhino with layer management and confirmation
  • Auto-Discovery - Decorator-based tool registration - no manual configuration needed

Project Structure

MCP/

MCP server and client integration:

  • main.py - MCP server with auto-discovery
  • bridge_client.py - HTTP client for Rhino communication
  • config/ - Configuration templates
  • requirements.txt - Python 3.10+ dependencies

Rhino/

HTTP bridge server running inside Rhino:

  • rhino_bridge_server.py - HTTP server (IronPython 2.7/3.9)
  • start_rhino_bridge.py - Startup script

Tools/

Tool definitions with decorator-based auto-discovery:

  • rhino_tools.py - Rhino 3D tools
  • gh_tools.py - Grasshopper tools
  • tool_registry.py - Auto-discovery system
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "rhino_gh": { "command": "python", "args": ["C:\\path\\to\\rhino_gh_mcp\\MCP\\main.py"] } } }