GridCraft-Skill ergänzen und die gemeinsamen Windows-MCP-Schritte auslagern.
This commit is contained in:
1 parent
55e93e7660
commit
3ac6cd5a29
6 files changed
+201
-6
No files matched your search
@@ -7,6 +7,7 @@ Sammlung von Skills für Claude. Jeder Skill ist ein abgeschlossener Ordner: `SK
|
||||
<!-- skills:start -->
|
||||
| Skill | Kurzbeschreibung | Version | Doku | Download |
|
||||
|---|---|---|---|---|
|
||||
| [gridcraft-mcp](skills/gridcraft-mcp/) | Excel-Arbeitsmappen (.xlsx, .csv) über den GridCraft-MCP-Server erstellen, öffnen, ändern, berechnen, formatieren und prüfen – Kalkulationen, Stücklisten, Listen, Diagramme, PDF-Export. | 0.1.0 | [README](skills/gridcraft-mcp/README.md) | [gridcraft-mcp-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/tag/gridcraft-mcp/v0.1.0) |
|
||||
| [wordcraft-mcp](skills/wordcraft-mcp/) | Word-Dokumente (.docx, .odt, .md, PDF) über den WordCraft-MCP-Server erstellen, bearbeiten und prüfen, inkl. Nachverfolgung – mit erprobten Fallen aus WordCraft 0.8.0; statt wordcraft-dokumente verwenden. | 0.1.1 | [README](skills/wordcraft-mcp/README.md) | [wordcraft-mcp-v0.1.1.zip](https://git.gundel.dev/dg/claude-skills/releases/tag/wordcraft-mcp/v0.1.1) |
|
||||
<!-- skills:end -->
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
# MCP-Server unter Windows einrichten
|
||||
|
||||
[Alle Skills](../README.md)
|
||||
|
||||
Gilt für Skills, die einen lokalen MCP-Server in Claude Desktop eintragen: [wordcraft-mcp](../skills/wordcraft-mcp/README.md), [gridcraft-mcp](../skills/gridcraft-mcp/README.md). Der Pfad zur jeweiligen Programmdatei und die Argumente stehen in der README des Skills.
|
||||
|
||||
## Ort der Config
|
||||
|
||||
- Claude-Installer: `%APPDATA%\Claude\claude_desktop_config.json`
|
||||
- Microsoft-Store-App: `%LOCALAPPDATA%\Packages\Claude_<id>\LocalCache\Roaming\Claude\claude_desktop_config.json` (existiert `%APPDATA%\Claude` nicht, ist es die Store-Version)
|
||||
|
||||
## Nur mcpServers ergänzen
|
||||
|
||||
Die Config enthält bereits Einstellungen der App. Nur den Block `"mcpServers"` ergänzen, sonst nichts verändern. Bestehende Einträge darin behalten. Auf gültiges JSON achten (Kommas, doppelte Backslashes in Pfaden).
|
||||
|
||||
## App überschreibt die Config
|
||||
|
||||
Die Claude-App speichert Einstellungen aus ihrem Arbeitsspeicher zurück und löscht dabei frisch eingetragene `mcpServers` (passiert zum Beispiel, wenn man im laufenden Betrieb einen Ordnerzugriff erteilt). Deshalb: eintragen, speichern, **sofort** Claude komplett beenden (auch im Tray) und neu starten, danach den Eintrag kontrollieren.
|
||||
@@ -0,0 +1,5 @@
|
||||
# Changelog – gridcraft-mcp
|
||||
|
||||
## 0.1.0 (2026-10-19)
|
||||
|
||||
- Erstveröffentlichung, getestet mit GridCraft 0.8.0.
|
||||
@@ -0,0 +1,95 @@
|
||||
# gridcraft-mcp
|
||||
|
||||
[Alle Skills](../../README.md)
|
||||
|
||||
## Zweck
|
||||
|
||||
Erstellt und bearbeitet Excel-Arbeitsmappen (`.xlsx`, `.csv`) über den MCP-Server von GridCraft. GridCraft ist der Open-Source-Excel-Nachbau aus der ArtCraft-Suite, getestet mit 0.8.0. Die Anweisungen für Claude stehen in [SKILL.md](SKILL.md).
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- GridCraft inklusive `gridcraft-cli.exe` ist installiert. Der ArtCraft-Launcher legt die Dateien nach `C:\Program Files\GridCraft\` und trägt nichts in den PATH ein.
|
||||
- Claude Desktop ist installiert.
|
||||
- Der MCP-Server ist in der `claude_desktop_config.json` eingetragen.
|
||||
|
||||
**Keine Ordnerbeschränkung.** Anders als WordCraft kennt GridCraft keine `--automation-read-root` und `--automation-write-root`. Der Server kann jede Datei lesen und schreiben, die der Windows-Benutzer lesen und schreiben darf. In Claude bei den GridCraft-Werkzeugen `open_workbook`, `save_workbook` und `execute_command` auf „Immer fragen“ lassen. Der Skill weist Claude an, nie über ein Original zu speichern, sondern immer unter einem neuen Namen.
|
||||
|
||||
## Installation
|
||||
|
||||
Git ist nicht nötig.
|
||||
|
||||
1. Das ZIP [gridcraft-mcp-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/tag/gridcraft-mcp/v0.1.0) aus dem Release laden.
|
||||
2. In Claude **„+“ → „Skill erstellen“ → „Skill hochladen“** wählen und das ZIP hochladen.
|
||||
|
||||
## Einrichtung
|
||||
|
||||
In der bestehenden `claude_desktop_config.json` nur einen Eintrag innerhalb von `mcpServers` ergänzen. Bestehende Einträge, zum Beispiel `wordcraft`, bleiben unverändert.
|
||||
|
||||
```json
|
||||
"gridcraft": {
|
||||
"command": "C:\\Program Files\\GridCraft\\gridcraft-cli.exe",
|
||||
"args": ["mcp"]
|
||||
}
|
||||
```
|
||||
|
||||
So sieht `mcpServers` aus, wenn WordCraft schon eingetragen ist. Den vorhandenen `wordcraft`-Block nicht durch dieses Beispiel ersetzen, nur `gridcraft` daneben setzen:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"wordcraft": {
|
||||
"command": "C:\\Program Files\\WordCraft\\wordcraft-cli.exe",
|
||||
"args": [
|
||||
"mcp",
|
||||
"--author", "Claude",
|
||||
"--automation-read-root", "C:\\Pfad\\zu\\Dokumente",
|
||||
"--automation-write-root", "C:\\Pfad\\zu\\Dokumente\\claude_out"
|
||||
]
|
||||
},
|
||||
"gridcraft": {
|
||||
"command": "C:\\Program Files\\GridCraft\\gridcraft-cli.exe",
|
||||
"args": ["mcp"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Einrichtung unter Windows – Stolpersteine
|
||||
|
||||
Gemeinsame Punkte (Ort der Config, nur `mcpServers` ergänzen, App überschreibt die Datei): [MCP unter Windows einrichten](../../docs/windows-mcp-einrichtung.md).
|
||||
|
||||
- Der ArtCraft-Launcher installiert nach `C:\Program Files\GridCraft\` (`gridcraft.exe` und `gridcraft-cli.exe`) und trägt nichts in den PATH ein. `Get-Command gridcraft-cli` findet die Datei daher nicht; in die Config den vollen Pfad schreiben. Auffinden mit:
|
||||
|
||||
```powershell
|
||||
Get-ChildItem "$env:ProgramFiles","$env:LOCALAPPDATA" -Recurse -Filter "gridcraft-cli.exe" -ErrorAction SilentlyContinue
|
||||
```
|
||||
|
||||
## Im Test geprüft
|
||||
|
||||
Formeln, Tabellen, Zahlenformate und der PDF-Export. Beim Öffnen und Speichern einer bestehenden `.xlsx` blieben erhalten: verbundene Zellen, Kommentare, bedingte Formatierung, Datenüberprüfung, Namen, blattübergreifende Formeln, Fixierung, A4 quer und die Kopfzeile.
|
||||
|
||||
## Bekannte Grenzen
|
||||
|
||||
Kurzfassung, die Einzelheiten stehen in [SKILL.md](SKILL.md):
|
||||
|
||||
- Formeln nur englisch und mit Komma als Trenner.
|
||||
- Deutsche Zahlen und Datumsangaben als Text werden nicht erkannt und rechnen nicht mit.
|
||||
- Diagramme nur aus einem zusammenhängenden Bereich.
|
||||
- CSV-Export ist komma-getrennt und schreibt das Anzeigeformat.
|
||||
- Keine Makros.
|
||||
|
||||
## Test
|
||||
|
||||
Neuen Chat öffnen und fragen: „Sind die GridCraft-Tools verfügbar? Lies A1:E10 aus <Pfad zu einer Test-xlsx>.“
|
||||
|
||||
Fehlen die Tools, zuerst den Eintrag in der Config prüfen. Nicht auf ein anderes Programm ausweichen.
|
||||
|
||||
## Deinstallation/Update
|
||||
|
||||
Deinstallation: In Claude den Skill aus der Liste entfernen. Den Block `gridcraft` unter `mcpServers` nur löschen, wenn GridCraft nicht mehr benutzt wird. Andere Einträge in der Config nicht anfassen.
|
||||
|
||||
Update: das ZIP der neuen Version aus dem Release laden und wie bei der Installation hochladen. Liegt die alte Fassung noch in Claude, diese vorher entfernen.
|
||||
|
||||
## Änderungen
|
||||
|
||||
[CHANGELOG.md](CHANGELOG.md)
|
||||
@@ -0,0 +1,80 @@
|
||||
---
|
||||
name: gridcraft-mcp
|
||||
description: Excel-Arbeitsmappen (.xlsx, .csv) über den GridCraft-MCP-Server erstellen, öffnen, ändern, berechnen, formatieren und prüfen – Kalkulationen, Stücklisten, Listen, Diagramme, PDF-Export.
|
||||
---
|
||||
|
||||
# Tabellen mit GridCraft (MCP)
|
||||
|
||||
GridCraft ist eine Open-Source-Tabellenkalkulation (Rust), die Excel-Parität anstrebt. Alles ist ein Befehl mit stabiler ID nach dem Excel-Ribbon (`home.bold`, `insert.chart`, `data.sort` …); Ribbon, CLI und MCP rufen dieselben Befehle auf. Getestet mit Version 0.8.0.
|
||||
|
||||
## Voraussetzung
|
||||
|
||||
Der MCP-Server muss verbunden sein (Tools wie `write_range`, `read_range`, `execute_command`). Je nach Client heißen sie mit Präfix, z. B. `mcp__…__gridcraft__write_range`; sind sie zurückgestellt, erst per ToolSearch laden. Fehlen sie, dem Nutzer sagen, dass der Server nicht läuft (Claude-App komplett neu starten, Eintrag in `claude_desktop_config.json` prüfen – die App kann ihn beim Speichern eigener Einstellungen überschreiben), statt auf etwas anderes auszuweichen.
|
||||
|
||||
**Keine Ordnerbeschränkung:** Anders als WordCraft kennt GridCraft keine `--automation-read-root/-write-root`. Der Server kann jede Datei lesen und schreiben, die der Nutzer lesen und schreiben darf. Deshalb:
|
||||
- Nur Dateien öffnen, die der Nutzer genannt hat.
|
||||
- Nie über ein Original speichern. Immer unter neuem Namen speichern (z. B. `<name>_bearbeitet.xlsx` im selben Ordner oder in einem vom Nutzer genannten Ausgabeordner) und den Pfad nennen.
|
||||
- Vor jedem `save_workbook` / `file.export*` den Zielpfad prüfen.
|
||||
|
||||
## Tools
|
||||
|
||||
| Tool | Zweck |
|
||||
|---|---|
|
||||
| `list_commands` | `{search}` – Befehls-IDs mit Parametern |
|
||||
| `execute_command` | `{command, params}` – jeder Befehl |
|
||||
| `inspect_workbook` | Blätter, genutzte Bereiche, Tabellen, Diagramme, Namen, Undo-Liste |
|
||||
| `read_range` | `{range, sheet?, formulas?, formatted?}` – Werte, Formeln oder Anzeigetext |
|
||||
| `write_range` | `{range, values}` – 2-D-Array; Strings mit `=` sind Formeln |
|
||||
| `set_cell` / `get_cell` | eine Zelle schreiben/lesen (Wert, Formel, Text, Stil) |
|
||||
| `evaluate_formula` | Formel testen, ohne das Blatt zu ändern |
|
||||
| `format_range` | `bold, italic, underline, fontName, fontSize, fontColor, fillColor, numberFormat, horizontalAlign, wrapText, borders` |
|
||||
| `create_table` | `{range, name?, header?, style?}` |
|
||||
| `insert_chart` | `{range, type, title?, subtype?, at?}` |
|
||||
| `sort_range` / `filter` | Sortieren / AutoFilter |
|
||||
| `new_workbook` / `open_workbook` / `save_workbook` | Dateien (.xlsx, .csv, .tsv, .json, .html) |
|
||||
| `undo` / `redo` | Verlauf |
|
||||
| `list_functions` | verfügbare Tabellenfunktionen |
|
||||
| `screenshot` | nur im Remote-Modus (`--connect`) |
|
||||
|
||||
Bereiche mit Blatt: `"Kalkulation!A3:E8"`.
|
||||
|
||||
## Arbeitsweise
|
||||
|
||||
1. **Befehls-IDs nie raten:** `list_commands {search: "…"}` (z. B. `column width`, `freeze`, `page`, `rename`, `chart.`).
|
||||
2. **Daten in einem Rutsch:** `write_range` mit ganzer Tabelle inkl. Formeln statt vieler `set_cell`.
|
||||
3. **Formeln statt fester Werte** für alles Berechnete (Summen, MwSt, Aufschläge), damit der Nutzer in Excel weiterrechnen kann. Parameter (Aufschlag, MwSt-Satz) in eigene Zellen und per absolutem Bezug (`$B$1`) verwenden.
|
||||
4. **Prüfen:** `read_range` (berechnete Werte), `read_range {formulas: true}` (Formeln), `read_range {formatted: true}` (Anzeige), `inspect_workbook` (Struktur). Beim PDF-Export das Ergebnis ansehen.
|
||||
5. **Speichern** als .xlsx unter neuem Namen; zur Kontrolle mit `open_workbook` wieder öffnen und Formeln lesen.
|
||||
|
||||
## Deutsche Eingaben – wichtigste Fallen (im Test bestätigt)
|
||||
|
||||
- **Formeln nur englisch und mit Komma:** `=SUM(E2:E5)`, `=ROUND(E8,2)`, `=VLOOKUP(…,FALSE)`, `=IF(…)`. Deutsche Namen (`=SUMME(…)`) ergeben `#NAME?`, Semikolon als Trenner ergibt einen Formelfehler. Excel zeigt die Formeln beim Öffnen trotzdem auf Deutsch an.
|
||||
- **Zahlen als JSON-Zahl mit Punkt** übergeben (`0.75`, nicht `"0,75"`). Ein String mit Komma wird **als Text** gespeichert und rechnet nicht mit.
|
||||
- **Datumswerte als ISO** (`"2026-10-19"`) oder `=DATE(2026,10,19)`. `"19.10.2026"` wird zu Text. Danach Zahlenformat setzen: `numberFormat: "DD.MM.YYYY"`.
|
||||
- **Zahlenformate sind sprachneutral:** `"#,##0.00 €"` erscheint in GridCraft als `1,114.10 €`, in einem deutschen Excel aber korrekt als `1.114,10 €`. Nicht „reparieren“.
|
||||
- **Neue Mappe = US-Letter, Blatt heißt `Sheet1`:** für deutsche Dokumente `pageLayout.size {paper: "A4"}` und `sheet.rename {sheet: "Sheet1", name: "…"}`.
|
||||
|
||||
## Weitere Fallen
|
||||
|
||||
- **Diagramme nur aus zusammenhängendem Bereich:** `insert_chart {range: "B1:B5,E1:E5"}` liefert ein leeres Diagramm über den Daten. Kategorie und Werte nebeneinander anordnen (oder Hilfsbereich anlegen) und `range: "A1:B5"` nutzen. Immer `at` setzen (z. B. `"H2"`), damit das Diagramm keine Daten verdeckt.
|
||||
- **PDF-Export** (`file.exportPdf {path}`) schneidet breite Inhalte ab: vorher `home.autofitColumnWidth {cols: "A:E"}`, ggf. `pageLayout.orientation {orientation: "landscape"}` und `pageLayout.scaleToFit {width: 1}`.
|
||||
- **Spaltenbreiten** werden nicht automatisch angepasst: nach dem Befüllen `home.autofitColumnWidth`.
|
||||
- **CSV-Export** (`save_workbook` mit `.csv`) schreibt Komma-getrennt und die **formatierte Anzeige** (`412.50 €`). Für deutsches Excel oder ERP-Import ungeeignet – lieber .xlsx liefern oder vor dem CSV-Export Zahlenformate entfernen und den Nutzer auf das Trennzeichen hinweisen.
|
||||
- **`open_workbook` öffnet eine weitere Mappe** und macht sie aktiv; Befehle wirken auf die aktive Mappe. Bei mehreren Mappen mit `inspect_workbook` prüfen, welche aktiv ist.
|
||||
- `undo` nach `open_workbook` hat keinen Verlauf; Fehler vor dem Speichern beheben.
|
||||
|
||||
## Bestehende Mappen bearbeiten
|
||||
|
||||
Im Test blieben beim Öffnen und Speichern einer Excel-Datei erhalten: verbundene Zellen, Schrift, Zahlenformate, Kommentare, bedingte Formatierung, Datenüberprüfung, benannte Bereiche, blattübergreifende Formeln, fixierte Bereiche, Spaltenbreiten, Seitenformat (A4 quer) und Kopfzeile.
|
||||
|
||||
Ablauf:
|
||||
1. `open_workbook` → `inspect_workbook` → relevante Bereiche mit `read_range {formulas: true}` lesen, bevor etwas geändert wird.
|
||||
2. Nur die gewünschten Zellen ändern; Formeln anderer Zellen nicht durch Werte ersetzen.
|
||||
3. Ergebnis gegenlesen (`read_range`), unter neuem Namen speichern.
|
||||
4. Dem Nutzer kurz sagen, was geändert wurde (Zellen, alter → neuer Wert), und vorschlagen, die Datei einmal in Excel zu öffnen.
|
||||
|
||||
## Grenzen
|
||||
|
||||
- Keine Netzwerkfunktionen (`WEBSERVICE` liefert `#VALUE!`), keine Makros/VBA.
|
||||
- Funktionsumfang mit `list_functions` prüfen, bevor exotische Funktionen genutzt werden.
|
||||
- Im Remote-Modus (`--connect`) steuert der Server die geöffnete Desktop-App; das ist ebenfalls nicht auf Ordner beschränkt.
|
||||
@@ -42,19 +42,15 @@ In die bestehende `claude_desktop_config.json` nur den Block `mcpServers` einfü
|
||||
|
||||
## Einrichtung unter Windows – Stolpersteine
|
||||
|
||||
Gemeinsame Punkte (Ort der Config, nur `mcpServers` ergänzen, App überschreibt die Datei): [MCP unter Windows einrichten](../../docs/windows-mcp-einrichtung.md).
|
||||
|
||||
- Der ArtCraft-Launcher installiert nach `C:\Program Files\WordCraft\` (`wordcraft.exe` und `wordcraft-cli.exe`) und trägt nichts in den PATH ein. `Get-Command wordcraft-cli` findet die Datei daher nicht; in die Config den vollen Pfad schreiben. Auffinden mit:
|
||||
|
||||
```powershell
|
||||
Get-ChildItem "$env:ProgramFiles","$env:LOCALAPPDATA" -Recurse -Filter "wordcraft-cli.exe" -ErrorAction SilentlyContinue
|
||||
```
|
||||
|
||||
- Ort der Config:
|
||||
- Claude-Installer: `%APPDATA%\Claude\claude_desktop_config.json`
|
||||
- Microsoft-Store-App: `%LOCALAPPDATA%\Packages\Claude_<id>\LocalCache\Roaming\Claude\claude_desktop_config.json` (existiert `%APPDATA%\Claude` nicht, ist es die Store-Version)
|
||||
- Die Config enthält bereits Einstellungen der App. Nur den Block `"mcpServers"` ergänzen, sonst nichts verändern; auf gültiges JSON achten (Kommas, doppelte Backslashes).
|
||||
- Der Ordner aus `--automation-write-root` muss vorher existieren, sonst startet der Server nicht.
|
||||
- Die Claude-App speichert Einstellungen aus ihrem Arbeitsspeicher zurück und löscht dabei frisch eingetragene `mcpServers` (passiert zum Beispiel, wenn man im laufenden Betrieb einen Ordnerzugriff erteilt). Deshalb: eintragen, speichern, **sofort** Claude komplett beenden (auch im Tray) und neu starten, danach den Eintrag kontrollieren.
|
||||
- Test: neuen Chat öffnen und fragen „Sind die WordCraft-Tools verfügbar?“
|
||||
|
||||
## Test
|
||||
|
||||
|
||||
Reference in new issue
Block a user