Release wordcraft-mcp and gridcraft-mcp 0.3.0: client-neutral skills, Cursor plugins.
This commit is contained in:
1 parent
debdf92877
commit
4c7e3ff720
26 files changed
+1008
-236
No files matched your search
@@ -1,11 +1,17 @@
|
||||
# Changelog – gridcraft-mcp
|
||||
|
||||
## 0.3.0 (2026-10-19)
|
||||
|
||||
- Skill clientneutral: Claude-/Cursor-Details nur noch in README/docs; schärfere `description`.
|
||||
- Praxiserkenntnisse: `range.fill` und aktive Zelle, `alreadyOpen`, Parameter-Beispiele (Validation, Conditional Format, Layout), Rezepte (Kalkulation / BOM / Vorlage füllen), Abschlussprüfung, Datenschutz.
|
||||
- Neu: Cursor-Plugin je Skill (`gridcraft-mcp-cursor-v0.3.0.zip`) inkl. Deeplink.
|
||||
|
||||
## 0.2.0 (2026-10-19)
|
||||
|
||||
- Erweiterung (`.mcpb`) als Standardweg; `display_name` ohne Umlaut („GridCraft for Claude“, Werkzeug-Präfix jetzt `…_for_Claude`).
|
||||
- Allgemeine Werkzeugnamen im Skill (Präfix hängt vom Client und vom Erweiterungsnamen ab).
|
||||
- Doku: ArtCraft-Voraussetzung und „Erweiterung einschalten“; UTF-8-Fix in Manifest und README.
|
||||
- Apostroph-Falle für Text mit führendem `=` (Beschriftungen wie `= Materialkosten`).
|
||||
- Apostroph-Falle für Text mit führendem `=`.
|
||||
|
||||
## 0.1.0 (2026-10-19)
|
||||
|
||||
|
||||
@@ -4,74 +4,66 @@
|
||||
|
||||
## 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).
|
||||
Erstellt und bearbeitet Excel-Arbeitsmappen (`.xlsx`, `.csv`) über den MCP-Server von GridCraft. Getestet mit 0.8.0. Die Anweisungen für den Agenten stehen in [SKILL.md](SKILL.md) (clientneutral).
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Claude Desktop (die App)
|
||||
- **GridCraft** über den ArtCraft-Launcher (`C:\Program Files\GridCraft\gridcraft-cli.exe`)
|
||||
- Die Erweiterung `gridcraft-mcp-….mcpb` und dieses Skill-ZIP (siehe [Installation](#installation))
|
||||
- Claude Desktop **oder** Cursor (siehe unten)
|
||||
- Die Erweiterung bzw. das Plugin sowie dieses Skill-ZIP
|
||||
|
||||
**Keine Ordnerbeschränkung.** Anders als WordCraft kennt GridCraft keine Lese-/Schreib-Roots. 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.
|
||||
**Keine Ordnerbeschränkung.** In Claude bei `open_workbook`, `save_workbook` und `execute_command` auf „Immer fragen“ lassen.
|
||||
|
||||
## Installation
|
||||
**Cursor:** siehe [Wurzel-README](../../README.md) und [docs/CURSOR.md](../../docs/CURSOR.md).
|
||||
|
||||
## Installation (Claude Desktop)
|
||||
|
||||
Schritt-für-Schritt: [docs/INSTALLATION.md](../../docs/INSTALLATION.md). Kurz:
|
||||
|
||||
1. `gridcraft-mcp-v0.2.0.mcpb` und `gridcraft-mcp-v0.2.0.zip` aus dem [Release](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.2.0/gridcraft-mcp-v0.2.0.mcpb) laden.
|
||||
1. `gridcraft-mcp-v0.3.0.mcpb` und `gridcraft-mcp-v0.3.0.zip` aus dem [Release](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.3.0/gridcraft-mcp-v0.3.0.mcpb) laden.
|
||||
2. Die `.mcpb` doppelklicken (oder über Einstellungen → Erweiterungen installieren).
|
||||
3. Unter Einstellungen → Erweiterungen prüfen, dass **GridCraft for Claude** eingeschaltet ist.
|
||||
4. Skill-ZIP in Claude hochladen: **„+“ → „Skill erstellen“ → „Skill hochladen“**.
|
||||
5. Claude komplett beenden (auch Taskleiste) und neu starten.
|
||||
4. Skill-ZIP hochladen: **„+“ → „Skill erstellen“ → „Skill hochladen“**.
|
||||
5. Claude komplett beenden (auch Taskleiste) und neu starten. **Neuen** Chat öffnen.
|
||||
|
||||
Wer v0.1.0 installiert hat: alte Erweiterung unter Einstellungen → Erweiterungen entfernen, v0.2.0 installieren, einschalten, Skill-ZIP v0.2.0 hochladen (ersetzt den alten Skill). Alte Skills `wordcraft-dokumente` bitte löschen.
|
||||
Wer v0.1.0 oder v0.2.0 installiert hat: alte Erweiterung entfernen, v0.3.0 installieren, einschalten, Skill-ZIP v0.3.0 hochladen. Alte Skills `wordcraft-dokumente` bitte löschen.
|
||||
|
||||
**Umsteigen von der manuellen Config:** Wer den Server früher in `claude_desktop_config.json` eingetragen hat: Eintrag `gridcraft` unter `mcpServers` vor der Installation der Erweiterung entfernen (vorher Sicherungskopie der Datei anlegen), sonst gibt es die Werkzeuge doppelt.
|
||||
**Umsteigen von der manuellen Config:** Eintrag `gridcraft` unter `mcpServers` vor der Installation der Erweiterung entfernen.
|
||||
|
||||
## Enthaltene Software
|
||||
|
||||
Die Erweiterung steuert [GridCraft](https://github.com/storytold/gridcraft) (MIT oder Apache-2.0) aus dem ArtCraft-Launcher; die CLI wird **nicht** mitgeliefert. Lizenztexte des Upstreams liegen in der `.mcpb` unter `LICENSES/`.
|
||||
Die Erweiterung steuert [GridCraft](https://github.com/storytold/gridcraft) (MIT oder Apache-2.0) aus dem ArtCraft-Launcher; die CLI wird **nicht** mitgeliefert.
|
||||
|
||||
## 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.
|
||||
Formeln, Tabellen, Zahlenformate, PDF-Export, Stückliste/BOM mit `range.fill`, Datenüberprüfung und bedingte Formatierung. Beim Öffnen/Speichern bestehender `.xlsx` blieben u. a. verbundene Zellen, Kommentare und A4 quer erhalten.
|
||||
|
||||
## 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.
|
||||
Kurzfassung in [SKILL.md](SKILL.md): englische Formeln, Apostroph bei Text mit `=`, Diagramme nur aus zusammenhängendem Bereich, CSV ungeeignet für deutsches Excel, keine Makros.
|
||||
|
||||
## Test
|
||||
|
||||
Neuen Chat öffnen und fragen: „Sind die GridCraft-Tools verfügbar? Lies A1:E10 aus \<Pfad zu einer Test-xlsx\>.“
|
||||
Neuen Chat öffnen und fragen: „Sind die GridCraft-Tools verfügbar? Lies A1:E10 aus \<Pfad zu einer Test-xlsx\>.“ Präfix `…GridCraft_for_Claude…`.
|
||||
|
||||
Fehlen die Tools: Einstellungen → Erweiterungen – ist die Erweiterung eingeschaltet? Dann Claude komplett neu starten.
|
||||
Fehlen die Tools: Erweiterung eingeschaltet? CLI unter `C:\Program Files\GridCraft\gridcraft-cli.exe`? Neu starten, neuer Chat.
|
||||
|
||||
## Stolpersteine
|
||||
|
||||
- Erweiterungen sind nicht signiert; nur installieren, wenn du der Quelle vertraust.
|
||||
- Formeln mit deutschen Namen ergeben `#NAME?` – englische Funktionsnamen verlangen.
|
||||
- Erweiterungen sind nicht signiert.
|
||||
- Formeln mit deutschen Namen ergeben `#NAME?`.
|
||||
|
||||
## Deinstallation/Update
|
||||
|
||||
Deinstallation: Einstellungen → Erweiterungen → entfernen; Skill in der Skill-Liste löschen.
|
||||
|
||||
Update: neue `.mcpb` und Skill-ZIP installieren, bestehende Version ersetzen lassen, Claude neu starten.
|
||||
Einstellungen → Erweiterungen → entfernen; Skill löschen. Update: neue `.mcpb` und Skill-ZIP.
|
||||
|
||||
## Alternative: manuell (für Entwickler)
|
||||
|
||||
Statt der Erweiterung kann der MCP-Server in `claude_desktop_config.json` eingetragen werden. Gemeinsame Stolpersteine: [MCP unter Windows einrichten](../../docs/windows-mcp-einrichtung.md).
|
||||
Statt der Erweiterung in `claude_desktop_config.json` eintragen. Stolpersteine: [MCP unter Windows einrichten](../../docs/windows-mcp-einrichtung.md).
|
||||
|
||||
- Claude-Installer: `%APPDATA%\Claude\claude_desktop_config.json`
|
||||
- Microsoft-Store-App: `%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json`
|
||||
|
||||
GridCraft muss über den ArtCraft-Launcher installiert sein (`C:\Program Files\GridCraft\gridcraft-cli.exe`).
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
@@ -83,8 +75,6 @@ GridCraft muss über den ArtCraft-Launcher installiert sein (`C:\Program Files\G
|
||||
}
|
||||
```
|
||||
|
||||
Auffinden der EXE:
|
||||
|
||||
```powershell
|
||||
Get-ChildItem "$env:ProgramFiles","$env:LOCALAPPDATA" -Recurse -Filter "gridcraft-cli.exe" -ErrorAction SilentlyContinue
|
||||
```
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
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.
|
||||
description: "Excel-Arbeitsmappen (.xlsx, .csv) mit dem GridCraft-MCP-Server erstellen, öffnen, ändern, berechnen und prüfen. Verwenden, wenn GridCraft-Werkzeuge verbunden sind oder der Nutzer GridCraft nennt; typisch für Kalkulationen, Stücklisten (BOM), Listen, Diagramme, PDF-Export. Nicht für eingebaute xlsx-Hilfen ohne GridCraft-Server."
|
||||
---
|
||||
|
||||
# Tabellen mit GridCraft (MCP)
|
||||
@@ -9,15 +9,11 @@ GridCraft ist eine Open-Source-Tabellenkalkulation (Rust), die Excel-Parität an
|
||||
|
||||
## Voraussetzung
|
||||
|
||||
Die Werkzeuge heißen `write_range`, `read_range`, `execute_command` … mit einem Präfix, der vom Client und vom Namen der Erweiterung abhängt (z. B. `mcp__…__GridCraft_for_Claude__write_range`). Sind sie zurückgestellt, per ToolSearch nach dem Werkzeugnamen ohne Präfix suchen (z. B. `write_range`) und alle benötigten in einem Aufruf laden. Fehlen sie, dem Nutzer sagen, dass der Server nicht läuft, statt auf etwas anderes auszuweichen.
|
||||
Die Werkzeuge `write_range`, `read_range`, `execute_command` … müssen verbunden sein. Ihr Präfix hängt vom Client und vom Namen der Erweiterung bzw. des Servers ab (z. B. `mcp__…__GridCraft_for_Claude__write_range`). Sind sie zurückgestellt, nach dem Werkzeugnamen ohne Präfix suchen und alle benötigten auf einmal laden. Fehlen sie, dem Nutzer sagen, dass der Server nicht verbunden ist (Einrichtung siehe README), statt auf etwas anderes auszuweichen.
|
||||
|
||||
**Standardweg:** GridCraft aus dem ArtCraft-Launcher und die Claude-Desktop-Erweiterung „GridCraft for Claude“ sind installiert und eingeschaltet (siehe `docs/INSTALLATION.md`). Fehlen die Tools: ArtCraft-Installation und Einstellungen → Erweiterungen prüfen, Claude komplett beenden (auch Taskleiste) und neu starten.
|
||||
|
||||
**Alternative (Entwickler):** Eintrag `gridcraft` in `claude_desktop_config.json`; die App kann ihn beim Speichern eigener Einstellungen überschreiben.
|
||||
|
||||
**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:
|
||||
**Keine Ordnerbeschränkung:** Anders als WordCraft kann der Server 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.
|
||||
- Nie über ein Original speichern. Immer unter neuem Namen speichern und den Pfad nennen.
|
||||
- Vor jedem `save_workbook` / `file.export*` den Zielpfad prüfen.
|
||||
|
||||
## Tools
|
||||
@@ -38,48 +34,115 @@ Die Werkzeuge heißen `write_range`, `read_range`, `execute_command` … mit ein
|
||||
| `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`) |
|
||||
| `screenshot` | nur mit verbundener Desktop-App |
|
||||
|
||||
Bereiche mit Blatt: `"Kalkulation!A3:E8"`.
|
||||
|
||||
## Arbeitsweise
|
||||
|
||||
1. **Befehls-IDs nie raten:** `list_commands {search: "…"}` (z. B. `column width`, `freeze`, `page`, `rename`, `chart.`).
|
||||
1. **Befehls-IDs nie raten:** `list_commands {search: "…"}` (z. B. `column width`, `freeze`, `page`, `rename`, `chart.`, `range.fill`).
|
||||
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.
|
||||
3. **Formeln statt fester Werte** für alles Berechnete. Parameter in eigene Zellen und per absolutem Bezug (`$B$1`).
|
||||
4. Vor dem Massenbefüllen Formel-Syntax mit `evaluate_formula` testen.
|
||||
5. **Prüfen:** `read_range`, `read_range {formulas: true}`, `read_range {formatted: true}`, `inspect_workbook`.
|
||||
6. **Speichern** als .xlsx unter neuem Namen.
|
||||
|
||||
## Deutsche Eingaben – wichtigste Fallen (im Test bestätigt)
|
||||
## Deutsche Eingaben – wichtigste Fallen
|
||||
|
||||
- **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: "…"}`.
|
||||
- **Text, der mit `=` beginnt, wird als Formel gelesen.** Beschriftungen wie `= Materialkosten` ergeben `#NAME?`. Wie in Excel einen Apostroph voranstellen: `"'= Materialkosten"` – gespeichert wird reiner Text.
|
||||
- **Formeln nur englisch und mit Komma:** `=SUM(E2:E5)`, `=ROUND(E8,2)`, `=VLOOKUP(…,FALSE)`, `=IF(…)`. Deutsche Namen ergeben `#NAME?`.
|
||||
- **Zahlen als JSON-Zahl mit Punkt** (`0.75`, nicht `"0,75"`).
|
||||
- **Datumswerte als ISO** (`"2026-10-19"`) oder `=DATE(2026,10,19)`. Danach `numberFormat: "DD.MM.YYYY"`.
|
||||
- **Zahlenformate sind sprachneutral:** `"#,##0.00 €"` erscheint in GridCraft als `1,114.10 €`, in deutschem Excel korrekt. Nicht „reparieren“.
|
||||
- **Neue Mappe = US-Letter, Blatt heißt `Sheet1`:** `pageLayout.size {paper: "A4"}` und `sheet.rename`.
|
||||
- **Text, der mit `=` beginnt, wird als Formel gelesen.** Apostroph voranstellen: `"'= Materialkosten"`.
|
||||
|
||||
## range.fill und aktive Zelle
|
||||
|
||||
`range.fill {input}` interpretiert relative Bezüge **relativ zur aktiven Zelle**, nicht zur ersten Zelle des Bereichs (aus `C12` wurde fälschlich `O23`). Richtig:
|
||||
|
||||
1. `select {range:"M12:M111", active:"M12"}`
|
||||
2. `execute_command` mit `range.fill {input:"=…C12…"}` **ohne** `range` im fill-Aufruf
|
||||
|
||||
Vor dem Massenbefüllen Formel mit `evaluate_formula` testen.
|
||||
|
||||
## open_workbook und alreadyOpen
|
||||
|
||||
`open_workbook` auf eine bereits offene Datei liefert nur `{"alreadyOpen": true}` und lädt **nicht** neu – für die Kontrolle der gespeicherten Datei ungeeignet. Andere Mappe aktivieren/schließen oder Datei extern prüfen.
|
||||
|
||||
## Parameter-Beispiele (im Test bestätigt)
|
||||
|
||||
Datenüberprüfung:
|
||||
```json
|
||||
{"command":"data.validation","params":{"range":"E12:E100","type":"list","formula1":"\"A,B,C\"","dropdown":true,"errorStyle":"warning","errorTitle":"Eingabe","errorMessage":"Wert aus der Liste wählen"}}
|
||||
```
|
||||
```json
|
||||
{"command":"data.validation","params":{"range":"N12:N100","type":"whole","operator":"between","formula1":"1","formula2":"9"}}
|
||||
```
|
||||
```json
|
||||
{"command":"data.validation","params":{"range":"F12:F100","type":"decimal","operator":"greaterOrEqual","formula1":"0"}}
|
||||
```
|
||||
|
||||
Bedingte Formatierung:
|
||||
```json
|
||||
{"command":"home.conditionalFormat","params":{"range":"A12:N111","rule":{"type":"expression","formula":"AND($E12<>\"\",$N12=\"\")","preset":"lightRedFill"}}}
|
||||
```
|
||||
```json
|
||||
{"command":"home.conditionalFormat","params":{"range":"A12:A111","rule":{"type":"expression","formula":"$A12=\"x\"","style":{"font":{"bold":true}}}}}
|
||||
```
|
||||
|
||||
Layout:
|
||||
```json
|
||||
{"command":"home.columnWidth","params":{"cols":"E:E","chars":36}}
|
||||
{"command":"view.freezePanes","params":{"cell":"F12"}}
|
||||
{"command":"pageLayout.printTitles","params":{"rows":"11:11"}}
|
||||
{"command":"pageLayout.headerFooter","params":{"header":"&L&F&R&A","footer":"&LStand: &D&RSeite &P von &N"}}
|
||||
```
|
||||
|
||||
## 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.
|
||||
- **Diagramme nur aus zusammenhängendem Bereich;** immer `at` setzen.
|
||||
- **PDF-Export** schneidet breite Inhalte ab: vorher `home.autofitColumnWidth`, ggf. Querformat und `pageLayout.scaleToFit {width: 1}`.
|
||||
- **CSV-Export** ist komma-getrennt und schreibt die formatierte Anzeige – für deutsches Excel oft ungeeignet.
|
||||
- **`open_workbook` öffnet eine weitere Mappe** und macht sie aktiv.
|
||||
- `undo` nach `open_workbook` hat keinen Verlauf.
|
||||
|
||||
## 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.
|
||||
1. `open_workbook` → `inspect_workbook` → relevante Bereiche mit `read_range {formulas: true}` lesen.
|
||||
2. Nur gewünschte Zellen ändern; Formeln anderer Zellen nicht durch Werte ersetzen.
|
||||
3. Ergebnis gegenlesen, unter neuem Namen speichern.
|
||||
4. Dem Nutzer kurz sagen, was geändert wurde.
|
||||
|
||||
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.
|
||||
## Rezepte
|
||||
|
||||
### Kalkulation / Zuschlagskalkulation
|
||||
|
||||
Parameterblatt mit Werten und absoluten Bezügen (`$B$1`). Skonto/Rabatt im Hundert korrekt formeln. Datenblatt mit `write_range`, Summen/MwSt als Formeln. A4, Zahlenformate, speichern unter neuem Namen.
|
||||
|
||||
### Stückliste / BOM
|
||||
|
||||
Kopfzeile und Zusammenfassung → Datenzeilen schreiben → Formeln per `select` + `range.fill` nachziehen → Auswahllisten (`data.validation`) → bedingte Formatierung → Freeze/PrintTitles → Revisionsblatt → speichern.
|
||||
|
||||
### Vorlage füllen
|
||||
|
||||
Vorlage öffnen → Zeilen ab Startzeile mit `write_range` schreiben → bei Bedarf `home.insertRows` → Formeln per `range.fill` nachziehen → prüfen → unter neuem Namen speichern.
|
||||
|
||||
## Abschlussprüfung
|
||||
|
||||
- `read_range` / `read_range {formulas: true}` auf Kernbereiche.
|
||||
- Bei PDF: Ergebnis ansehen (Breite, Seitenumbruch).
|
||||
- Gespeicherte Datei nicht mit `open_workbook` auf dieselbe Mappe „neu laden“ erwarten (`alreadyOpen`); externe Prüfung oder andere Mappe.
|
||||
- Pfad dem Nutzer nennen.
|
||||
|
||||
## Datenschutz
|
||||
|
||||
- Grün: allgemeine/technische Inhalte ohne Kundenbezug.
|
||||
- Gelb: Projekt-/Geschäftsinfos, Preise nur nach Abwägung oder anonymisiert.
|
||||
- Rot: personenbezogene Daten und NDA-Inhalte nicht in die Cloud-KI.
|
||||
- GridCraft hat keine Ordnersperre – nur Dateien öffnen/speichern, die der Nutzer genannt hat.
|
||||
|
||||
## 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.
|
||||
- Funktionsumfang mit `list_functions` prüfen.
|
||||
- Mit verbundener Desktop-App entfällt jede Ordnerbeschränkung ebenfalls.
|
||||
@@ -2,7 +2,7 @@
|
||||
"manifest_version": "0.3",
|
||||
"name": "gridcraft-mcp",
|
||||
"display_name": "GridCraft for Claude",
|
||||
"version": "0.2.0",
|
||||
"version": "0.3.0",
|
||||
"description": "Excel-Arbeitsmappen (.xlsx, .csv) erstellen und bearbeiten. Getestet mit GridCraft 0.8.0. Benötigt GridCraft aus dem ArtCraft-Launcher unter C:\\Program Files\\GridCraft\\. Ohne Ordnersperre – GridCraft kann alle Dateien lesen und schreiben, auf die der Benutzer Zugriff hat.",
|
||||
"author": {
|
||||
"name": "Dominic Gundel"
|
||||
|
||||
Reference in new issue
Block a user