- CLAUDE.md: Only essential work instructions - ARCHITECTURE.md: Technical details and tool list - HANDOVER.md: Session state and next tasks 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.5 KiB
4.5 KiB
RhinoMCP - Architektur
Übersicht
┌─────────────────────────────────────────────────────────┐
│ Claude.ai / Claude Code │
└──────────────────┬──────────────────────────────────────┘
│ MCP Protocol (stdio)
┌──────────────────▼──────────────────────────────────────┐
│ MCP-Server (Python) │
│ src/mcp-server/server.py │
│ - Tool-Definitionen │
│ - Request/Response Handling │
└──────────────────┬──────────────────────────────────────┘
│ HTTP (localhost:9000)
┌──────────────────▼──────────────────────────────────────┐
│ Rhino-Plugin (C# .rhp) │
│ src/rhino-plugin/RhinoMCP/ │
│ ├─ RhinoMcpPlugin.cs (Plugin-Einstieg) │
│ ├─ HttpServer.cs (HTTP-Endpoint) │
│ ├─ CommandHandler.cs (Rhino-Befehle) │
│ ├─ GrasshopperHandler.cs(GH-Befehle) │
│ └─ MeshTerrainHandler.cs(Mesh/GIS-Tools) │
└─────────────────────────────────────────────────────────┘
Technische Details
- Rhino-Version: Rhino 9 WIP
- Framework: .NET 7.0
- RhinoCommon/Grasshopper SDK: 8.0.23304.9001
- HTTP-Server: EmbedIO auf Port 9000
- MCP-Transport: stdio
Verfügbare Tools
Rhino-Geometrie
rhino_create_point,rhino_create_line,rhino_create_polylinerhino_create_circle,rhino_create_sphere,rhino_create_boxrhino_create_surface,rhino_create_curverhino_move,rhino_rotate,rhino_scale,rhino_copyrhino_boolean_union,rhino_boolean_difference,rhino_boolean_intersectionrhino_export,rhino_run_command
Grasshopper
grasshopper_open_definition,grasshopper_get_definition_infograsshopper_add_component,grasshopper_connect_componentsgrasshopper_add_slider,grasshopper_set_slider_valuegrasshopper_set_toggle_value,grasshopper_set_panel_textgrasshopper_bake,grasshopper_save_definition,grasshopper_recomputegrasshopper_delete_component,grasshopper_add_groupgrasshopper_add_scribble,grasshopper_rename_component
Mesh/Terrain/GIS
rhino_mesh_from_points,rhino_import_mesh,rhino_mesh_booleanrhino_terrain_contours,rhino_terrain_slope_analysisrhino_terrain_watershed,rhino_terrain_low_pointsrhino_create_drainage_line,rhino_create_road_surfacerhino_import_geotiff,rhino_import_shapefile,rhino_import_xyzrhino_transform_coordinates,rhino_get_bounding_boxrhino_create_grid,rhino_create_site_section,rhino_calculate_area_volume
Projektstruktur
Rhino-MCP/
├── CLAUDE.md # Arbeitsanweisungen (kurz!)
├── ARCHITECTURE.md # Diese Datei
├── HANDOVER.md # Session-Übergabe
├── README.md # Öffentliche Dokumentation
├── LICENSE # MIT Lizenz
├── install.bat # Windows-Installer
├── src/
│ ├── mcp-server/
│ │ ├── server.py
│ │ └── requirements.txt
│ └── rhino-plugin/
│ └── RhinoMCP/
│ ├── RhinoMCP.csproj
│ ├── RhinoMcpPlugin.cs
│ ├── HttpServer.cs
│ ├── CommandHandler.cs
│ ├── GrasshopperHandler.cs
│ └── MeshTerrainHandler.cs
└── docs/
HTTP-Request Format
{
"action": "grasshopper_delete_component",
"params": {
"component_id": "guid-here"
}
}
Wichtig: Parameter müssen unter "params" sein, nicht im Root-Objekt!