- RhinoMcp.Plugin: Rhino 8 plugin with TCP listener on port 9744 - RhinoMcp.Bridge: MCP HTTP server on port 9743 - Basic MCP tools: ping, get_info, run_command, get_layers, get_objects - Project documentation: CLAUDE.md, HANDOVER.md 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
77 lines
2.2 KiB
Markdown
77 lines
2.2 KiB
Markdown
# CLAUDE.md - RhinoMcp Projektanweisungen
|
|
|
|
> Diese Datei enthält Anweisungen für Claude Code bei der Arbeit an diesem Projekt.
|
|
|
|
## Projekt-Übersicht
|
|
|
|
RhinoMcp ist ein MCP-Server (Model Context Protocol) zur Fernsteuerung von Rhino 8.
|
|
Das Projekt besteht aus zwei Komponenten:
|
|
1. **RhinoMcp.Plugin** - Rhino 8 Plugin das auf Befehle lauscht
|
|
2. **RhinoMcp.Bridge** - Standalone MCP-Server der mit Claude kommuniziert
|
|
|
|
## Architektur
|
|
|
|
```
|
|
Claude Code ──HTTP/MCP──► RhinoMcp.Bridge ──TCP──► RhinoMcp.Plugin ──► Rhino 8
|
|
:9743 :9744 RhinoCommon API
|
|
```
|
|
|
|
## Build-Befehle
|
|
|
|
```bash
|
|
# Bridge bauen
|
|
cd src/RhinoMcp.Bridge
|
|
dotnet build
|
|
|
|
# Plugin bauen (benötigt Rhino 8 SDK)
|
|
cd src/RhinoMcp.Plugin
|
|
dotnet build
|
|
```
|
|
|
|
## Konventionen
|
|
|
|
### Code-Stil
|
|
- C# 12, .NET 8.0 für Bridge, .NET 7.0 für Plugin (Rhino 8 Kompatibilität)
|
|
- Nullable reference types aktiviert
|
|
- Deutsche Kommentare, englische Identifier
|
|
- Max 300 Zeilen pro Datei
|
|
|
|
### Datei-Organisation
|
|
```
|
|
src/
|
|
├── RhinoMcp.Plugin/ # Rhino 8 Plugin
|
|
│ ├── RhinoMcpPlugin.cs # Plugin Entry Point
|
|
│ ├── CommandListener.cs # TCP Server in Rhino
|
|
│ └── Commands/ # Rhino-Befehle
|
|
│
|
|
└── RhinoMcp.Bridge/ # MCP Server
|
|
├── Program.cs # Entry Point
|
|
└── Services/
|
|
├── McpServer.cs # HTTP MCP Server
|
|
├── RhinoConnection.cs # TCP Client zu Rhino
|
|
└── McpToolHandler.cs # Tool-Implementierungen
|
|
```
|
|
|
|
### MCP-Tool Namenskonvention
|
|
- Prefix: `rhino_`
|
|
- Beispiele: `rhino_run_command`, `rhino_get_objects`, `rhino_create_layer`
|
|
|
|
## Wichtige Dateien
|
|
|
|
- `CLAUDE.md` - Diese Datei (Anweisungen für Claude)
|
|
- `HANDOVER.md` - Session-Übergabe Status
|
|
- `src/RhinoMcp.Bridge/Services/McpServer.cs` - MCP HTTP Server
|
|
- `src/RhinoMcp.Plugin/RhinoMcpPlugin.cs` - Rhino Plugin Entry
|
|
|
|
## Git & Deployment
|
|
|
|
- Repository: `ssh://git@git.artetui.de:22222/admin/RhinoMcp.git`
|
|
- Branch: `master`
|
|
- Commit-Messages auf Englisch mit Emoji-Prefix
|
|
|
|
## Rhino 8 Spezifika
|
|
|
|
- RhinoCommon NuGet: `RhinoCommon` (Version 8.x)
|
|
- Plugin GUID muss eindeutig sein
|
|
- Plugin wird nach `%APPDATA%\McNeel\Rhinoceros\8.0\Plug-ins\` kopiert
|