Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f3e49b5d37 |
No files matched your search
@@ -49,6 +49,7 @@ Jedes Skill mit `extension/` bekommt beim Build **automatisch ein eigenes Cursor
|
||||
- **PdfCraft** startet mit `--compact`. Ohne die Option sind es 171 Werkzeuge mit etwa 176 KB Beschreibung. Cursor begrenzt die aktiven Werkzeuge (siehe [docs/CURSOR.md](docs/CURSOR.md)); dieselbe Option steht deshalb auch im Plugin.
|
||||
- **FigCraft:** kein `--attach`. Mit Lese- und Schreib-Ordner ist die Anbindung an eine laufende App nicht erlaubt.
|
||||
- **VectorCraft:** ohne Ordner-Argumente versucht der Server zuerst `127.0.0.1:7979`. Mit Lese- und Schreib-Ordner läuft er ohne Fenster. Die Cursor-Übersetzung muss diese Argumente übernehmen.
|
||||
- **SolidCraft:** eigener Installer, nicht der ArtCraft-Launcher. Zwei `--allow-path` (Lese- und Schreib-Ordner), der Server läuft ohne Fenster. Kein `--connect`, kein `--allow-any-path`.
|
||||
- **Schreib-Ordner im Lese-Ordner** (Standard: Dokumente und Dokumente/Claude). PdfCraft und VectorCraft öffnen eigene Ergebnisse sonst nicht wieder. Bei FigCraft ist die Lage egal; der Standard bleibt derselbe.
|
||||
|
||||
## Neuer Skill
|
||||
|
||||
@@ -13,6 +13,7 @@ Sammlung von Skills für Claude und Cursor. Jeder Skill ist ein abgeschlossener
|
||||
| [figcraft-mcp](skills/figcraft-mcp/) | Bedienoberflächen und Screens über den FigCraft-MCP-Server entwerfen, bearbeiten, ansehen und als PNG, PDF, SVG oder .fig exportieren (Figma-Klon, frühe Alpha). Verwenden, wenn FigCraft-Werkzeuge verbunden sind oder der Nutzer FigCraft nennt; typisch für HMI-Masken von Maschinensteuerungen, App-/Web-Entwürfe, Klick-Prototypen und Komponenten. | 0.1.0 | [README](skills/figcraft-mcp/README.md) | [figcraft-mcp-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/figcraft-mcp%2Fv0.1.0/figcraft-mcp-v0.1.0.zip) | [figcraft-mcp-v0.1.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/figcraft-mcp%2Fv0.1.0/figcraft-mcp-v0.1.0.mcpb) | [figcraft-mcp-cursor-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/figcraft-mcp%2Fv0.1.0/figcraft-mcp-cursor-v0.1.0.zip) | [Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=figcraft&config=eyJjb21tYW5kIjoiQzovUHJvZ3JhbSBGaWxlcy9GaWdDcmFmdC9maWdjcmFmdC1jbGkuZXhlIiwiYXJncyI6WyJtY3AiLCItLWF1dG9tYXRpb24tcmVhZC1yb290IiwiJHt1c2VySG9tZX0vRG9jdW1lbnRzIiwiLS1hdXRvbWF0aW9uLXdyaXRlLXJvb3QiLCIke3VzZXJIb21lfS9Eb2N1bWVudHMvQ2xhdWRlIl19) |
|
||||
| [gridcraft-mcp](skills/gridcraft-mcp/) | 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. | 0.3.0 | [README](skills/gridcraft-mcp/README.md) | [gridcraft-mcp-v0.3.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.3.0/gridcraft-mcp-v0.3.0.zip) | [gridcraft-mcp-v0.3.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.3.0/gridcraft-mcp-v0.3.0.mcpb) | [gridcraft-mcp-cursor-v0.3.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.3.0/gridcraft-mcp-cursor-v0.3.0.zip) | [Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=gridcraft&config=eyJjb21tYW5kIjoiQzovUHJvZ3JhbSBGaWxlcy9HcmlkQ3JhZnQvZ3JpZGNyYWZ0LWNsaS5leGUiLCJhcmdzIjpbIm1jcCJdfQ) |
|
||||
| [pdfcraft-mcp](skills/pdfcraft-mcp/) | PDFs über den PdfCraft-MCP-Server öffnen, auslesen, schwärzen, bereinigen, zusammenführen, aufteilen, mit Kopf-/Fußzeile, Seitenzahlen, Wasserzeichen und Lesezeichen versehen und nach Word exportieren. Verwenden, wenn PdfCraft-Werkzeuge verbunden sind oder der Nutzer PdfCraft nennt; typisch für Schwärzen vor der Weitergabe, Dokumentationspakete (Betriebsanleitung, Datenblätter, Konformitätserklärung), Angebote und Zeichnungen auslesen. | 0.1.0 | [README](skills/pdfcraft-mcp/README.md) | [pdfcraft-mcp-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/pdfcraft-mcp%2Fv0.1.0/pdfcraft-mcp-v0.1.0.zip) | [pdfcraft-mcp-v0.1.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/pdfcraft-mcp%2Fv0.1.0/pdfcraft-mcp-v0.1.0.mcpb) | [pdfcraft-mcp-cursor-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/pdfcraft-mcp%2Fv0.1.0/pdfcraft-mcp-cursor-v0.1.0.zip) | [Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=pdfcraft&config=eyJjb21tYW5kIjoiQzovUHJvZ3JhbSBGaWxlcy9QZGZDcmFmdC9wZGZjcmFmdC1jbGkuZXhlIiwiYXJncyI6WyJtY3AiLCItLWNvbXBhY3QiLCItLWF1dG9tYXRpb24tcmVhZC1yb290IiwiJHt1c2VySG9tZX0vRG9jdW1lbnRzIiwiLS1hdXRvbWF0aW9uLXdyaXRlLXJvb3QiLCIke3VzZXJIb21lfS9Eb2N1bWVudHMvQ2xhdWRlIl19) |
|
||||
| [solidcraft-mcp](skills/solidcraft-mcp/) | parametrische 3D-Teile über den SolidCraft-MCP-Server bauen, ändern, messen und als .solidcraft, STEP, STL oder 3MF ausgeben. Verwenden, wenn SolidCraft-Werkzeuge verbunden sind oder der Nutzer SolidCraft nennt; typisch für Laschen, Platten, Gehäuse, Bohrbilder. Nicht für 2D-DXF (VectorCraft) und nicht für native SOLIDWORKS-Dateien. | 0.1.0 | [README](skills/solidcraft-mcp/README.md) | [solidcraft-mcp-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/solidcraft-mcp%2Fv0.1.0/solidcraft-mcp-v0.1.0.zip) | [solidcraft-mcp-v0.1.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/solidcraft-mcp%2Fv0.1.0/solidcraft-mcp-v0.1.0.mcpb) | [solidcraft-mcp-cursor-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/solidcraft-mcp%2Fv0.1.0/solidcraft-mcp-cursor-v0.1.0.zip) | [Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=solidcraft&config=eyJjb21tYW5kIjoiQzovUHJvZ3JhbSBGaWxlcy9Tb2xpZENyYWZ0L3NvbGlkY3JhZnQtY2xpLmV4ZSIsImFyZ3MiOlsibWNwIiwiLS1hbGxvdy1wYXRoIiwiJHt1c2VySG9tZX0vRG9jdW1lbnRzIiwiLS1hbGxvdy1wYXRoIiwiJHt1c2VySG9tZX0vRG9jdW1lbnRzL0NsYXVkZSJdfQ) |
|
||||
| [vectorcraft-mcp](skills/vectorcraft-mcp/) | Vektorgrafiken über den VectorCraft-MCP-Server zeichnen, bearbeiten und als SVG, PDF, DXF, EPS, PNG exportieren (Illustrator-Klon); öffnet auch DXF, SVG, PDF, AI, EPS. Verwenden, wenn VectorCraft-Werkzeuge verbunden sind oder der Nutzer VectorCraft nennt; typisch für Typenschilder und Laser-/Gravurvorlagen als DXF in mm, Hinweisschilder, Piktogramme, Skizzen und Illustrationen für Betriebsanleitungen. | 0.1.0 | [README](skills/vectorcraft-mcp/README.md) | [vectorcraft-mcp-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/vectorcraft-mcp%2Fv0.1.0/vectorcraft-mcp-v0.1.0.zip) | [vectorcraft-mcp-v0.1.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/vectorcraft-mcp%2Fv0.1.0/vectorcraft-mcp-v0.1.0.mcpb) | [vectorcraft-mcp-cursor-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/vectorcraft-mcp%2Fv0.1.0/vectorcraft-mcp-cursor-v0.1.0.zip) | [Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=vectorcraft&config=eyJjb21tYW5kIjoiQzovUHJvZ3JhbSBGaWxlcy9WZWN0b3JDcmFmdC92ZWN0b3JjcmFmdC1jbGkuZXhlIiwiYXJncyI6WyJtY3AiLCItLWF1dG9tYXRpb24tcmVhZC1yb290IiwiJHt1c2VySG9tZX0vRG9jdW1lbnRzIiwiLS1hdXRvbWF0aW9uLXdyaXRlLXJvb3QiLCIke3VzZXJIb21lfS9Eb2N1bWVudHMvQ2xhdWRlIl19) |
|
||||
| [wordcraft-mcp](skills/wordcraft-mcp/) | Word-Dokumente (.docx, .odt, .md, PDF) mit dem WordCraft-MCP-Server erstellen, bearbeiten und prüfen (inkl. Nachverfolgung). Verwenden, wenn WordCraft-Werkzeuge verbunden sind oder der Nutzer WordCraft nennt; typisch für Angebote, Briefe, Betriebsanleitungen, Arbeitsanweisungen, 8D-Reports, Vorlagen. Nicht für eingebaute docx-Hilfen ohne WordCraft-Server. | 0.3.0 | [README](skills/wordcraft-mcp/README.md) | [wordcraft-mcp-v0.3.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.3.0/wordcraft-mcp-v0.3.0.zip) | [wordcraft-mcp-v0.3.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.3.0/wordcraft-mcp-v0.3.0.mcpb) | [wordcraft-mcp-cursor-v0.3.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.3.0/wordcraft-mcp-cursor-v0.3.0.zip) | [Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=wordcraft&config=eyJjb21tYW5kIjoiQzovUHJvZ3JhbSBGaWxlcy9Xb3JkQ3JhZnQvd29yZGNyYWZ0LWNsaS5leGUiLCJhcmdzIjpbIm1jcCIsIi0tYXV0aG9yIiwiQ2xhdWRlIiwiLS1hdXRvbWF0aW9uLXJlYWQtcm9vdCIsIiR7dXNlckhvbWV9L0RvY3VtZW50cyIsIi0tYXV0b21hdGlvbi13cml0ZS1yb290IiwiJHt1c2VySG9tZX0vRG9jdW1lbnRzL0NsYXVkZSJdfQ) |
|
||||
<!-- skills:end -->
|
||||
@@ -25,10 +26,10 @@ Sammlung von Skills für Claude und Cursor. Jeder Skill ist ein abgeschlossener
|
||||
|
||||
## In Cursor installieren
|
||||
|
||||
1. Voraussetzung: ArtCraft-Launcher mit der jeweiligen App ([Abschnitt 1](docs/INSTALLATION.md#1-artcraft-launcher-und-apps-installieren)).
|
||||
1. Voraussetzung: ArtCraft-Launcher mit der jeweiligen App ([Abschnitt 1](docs/INSTALLATION.md#1-artcraft-launcher-und-apps-installieren)). SolidCraft hat einen eigenen Installer ([Abschnitt 1b](docs/INSTALLATION.md#1b-solidcraft-installieren)).
|
||||
2. Cursor-Plugin-ZIP aus der Tabelle laden → nach `~/.cursor/plugins/local/<skill>` entpacken → **Developer: Reload Window**. Jedes Werkzeug einzeln, wie in Claude.
|
||||
3. Alternativ: „Add to Cursor“ (1-Klick) für den MCP-Server und den Skill-Ordner nach `~/.cursor/skills/` kopieren.
|
||||
4. WordCraft, PdfCraft, FigCraft und VectorCraft: Lese-/Schreib-Ordner prüfen (Standard: Lese = Dokumente, Schreib = Dokumente\Claude, Schreib-Ordner darin). PdfCraft startet mit `--compact`. VectorCraft nie ohne die Ordner-Argumente starten.
|
||||
4. WordCraft, PdfCraft, FigCraft, VectorCraft und SolidCraft: Lese-/Schreib-Ordner prüfen (Standard: Lese = Dokumente, Schreib = Dokumente\Claude, Schreib-Ordner darin). PdfCraft startet mit `--compact`. VectorCraft nie ohne die Ordner-Argumente starten. SolidCraft mit zwei `--allow-path`, ohne `--connect`.
|
||||
5. Test: im Agent „Sind die WordCraft-Werkzeuge verfügbar?“ – und je App einen kleinen Auftrag aus dem Skill.
|
||||
6. Auch Cursor sendet Inhalte an Cloud-Modelle → Datenschutz-Ampel in den Skills beachten.
|
||||
|
||||
|
||||
+23
-5
@@ -6,7 +6,7 @@ Jedes Werkzeug ist ein **eigenes** Cursor-Plugin (1:1 zur Claude-`.mcpb`). Keine
|
||||
|
||||
## Voraussetzung
|
||||
|
||||
1. [ArtCraft-Launcher](https://getartcraft.com/apps) und darin die jeweilige App (Standardpfad `C:\Program Files\…\<app>-cli.exe`, nicht auf PATH). FigCraft steht im Katalog seit Launcher 0.4.1.
|
||||
1. [ArtCraft-Launcher](https://getartcraft.com/apps) und darin die jeweilige App (Standardpfad `C:\Program Files\…\<app>-cli.exe`, nicht auf PATH). FigCraft steht im Katalog seit Launcher 0.4.1. SolidCraft getrennt davon: eigener Installer ([Releases](https://github.com/tangency-labs/solidcraft/releases) oder `winget install bherbruck.SolidCraft`), CLI `C:\Program Files\SolidCraft\solidcraft-cli.exe`.
|
||||
2. Cursor Desktop.
|
||||
|
||||
## Plugin installieren (empfohlen)
|
||||
@@ -16,9 +16,9 @@ Jedes Werkzeug ist ein **eigenes** Cursor-Plugin (1:1 zur Claude-`.mcpb`). Keine
|
||||
3. **Developer: Reload Window**.
|
||||
4. Unter Customize prüfen, dass Skill und MCP-Server sichtbar sind.
|
||||
|
||||
WordCraft, PdfCraft, FigCraft und VectorCraft: Lese-/Schreib-Ordner in den Plugin-Variablen (Configure) oder in `mcp.json` prüfen. Standard: Lese = `${userHome}/Documents`, Schreib = `${userHome}/Documents/Claude`. Der Schreib-Ordner muss im Lese-Ordner liegen (PdfCraft und VectorCraft lehnen sonst das erneute Öffnen ab; bei FigCraft ist die Lage egal, der Standard bleibt).
|
||||
WordCraft, PdfCraft, FigCraft, VectorCraft und SolidCraft: Lese-/Schreib-Ordner in den Plugin-Variablen (Configure) oder in `mcp.json` prüfen. Standard: Lese = `${userHome}/Documents`, Schreib = `${userHome}/Documents/Claude`. Der Schreib-Ordner muss im Lese-Ordner liegen (PdfCraft und VectorCraft lehnen sonst das erneute Öffnen ab; bei FigCraft ist die Lage egal, der Standard bleibt). SolidCraft übergibt beide Ordner als `--allow-path`; beide müssen gesetzt sein.
|
||||
|
||||
PdfCraft startet mit `--compact` (17 Kernwerkzeuge plus `tool_search`/`tool_call`). VectorCraft immer mit beiden Ordner-Argumenten starten, sonst versucht der Server zuerst `127.0.0.1:7979`. FigCraft ohne `--attach`.
|
||||
PdfCraft startet mit `--compact` (17 Kernwerkzeuge plus `tool_search`/`tool_call`). VectorCraft immer mit beiden Ordner-Argumenten starten, sonst versucht der Server zuerst `127.0.0.1:7979`. FigCraft ohne `--attach`. SolidCraft immer mit beiden `--allow-path` und ohne `--connect` (kein Port 7979).
|
||||
|
||||
## Alternativ: nur MCP + Skill
|
||||
|
||||
@@ -108,6 +108,23 @@ VectorCraft (Ordner-Argumente nicht weglassen):
|
||||
}
|
||||
```
|
||||
|
||||
SolidCraft (zwei `--allow-path`, kein `--connect`):
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"solidcraft": {
|
||||
"command": "C:\\Program Files\\SolidCraft\\solidcraft-cli.exe",
|
||||
"args": [
|
||||
"mcp",
|
||||
"--allow-path", "${userHome}/Documents",
|
||||
"--allow-path", "${userHome}/Documents/Claude"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Unterstützte Variablen in `mcp.json`: `${userHome}`, `${env:NAME}`, `${workspaceFolder}`, `${pathSeparator}` (siehe Cursor-MCP-Doku). In Plugin-`mcp.json` zusätzlich Plugin-Variablen (`${READ_ROOT}`, …) und `${CURSOR_PLUGIN_ROOT}` (hier unnötig, keine gebündelte EXE).
|
||||
|
||||
**1-Klick-Deeplink:** `config` ist nur das Transport-Objekt (`{command, args}`), der Servername steht in `name=`. Pfade mit Schrägstrich (`C:/Program Files/...`). Ein Wrapper `{ servername: {command…} }` im `config` führt in Cursor zu leerem `command`.
|
||||
@@ -120,7 +137,7 @@ PdfCraft ohne `--compact` liefert 171 Werkzeuge mit etwa 176 KB Beschreibung und
|
||||
|
||||
## Test
|
||||
|
||||
Im Agent: „Sind die WordCraft-Werkzeuge verfügbar?“ bzw. die andere App. PdfCraft: Test-PDF schwärzen und `doc_audit_redactions`. FigCraft: kleine HMI-Maske als PNG. VectorCraft: Typenschild 100×50 mm als DXF, Maße im CAD prüfen.
|
||||
Im Agent: „Sind die WordCraft-Werkzeuge verfügbar?“ bzw. die andere App. PdfCraft: Test-PDF schwärzen und `doc_audit_redactions`. FigCraft: kleine HMI-Maske als PNG. VectorCraft: Typenschild 100×50 mm als DXF, Maße im CAD prüfen. SolidCraft: Quader 40×30×20 mm, Volumen 24000 mm³.
|
||||
|
||||
## Probleme
|
||||
|
||||
@@ -129,8 +146,9 @@ Im Agent: „Sind die WordCraft-Werkzeuge verfügbar?“ bzw. die andere App. Pd
|
||||
| Keine Werkzeuge | Plugin unter `plugins/local/<skill>`? Reload? CLI unter `C:\Program Files\…`? |
|
||||
| path rejected | Schreib-Ordner prüfen (`WRITE_ROOT` / mcp.json). Er muss im Lese-Ordner liegen. |
|
||||
| VectorCraft spricht Port 7979 an | Ordner-Argumente fehlen. Plugin-`mcp.json` prüfen. |
|
||||
| SolidCraft erreicht die Datei nicht | Beide `--allow-path` in der Plugin-`mcp.json`. Kein `--connect` und kein Port 7979. |
|
||||
| Zu viele Werkzeuge / PdfCraft wirkt abgeschnitten | `--compact` muss in den Args stehen. |
|
||||
| Doppelte Server | Alten Eintrag in `~/.cursor/mcp.json` entfernen, wenn das Plugin denselben Namen (`wordcraft`, `gridcraft`, `pdfcraft`, `figcraft`, `vectorcraft`) registriert. |
|
||||
| Doppelte Server | Alten Eintrag in `~/.cursor/mcp.json` entfernen, wenn das Plugin denselben Namen (`wordcraft`, `gridcraft`, `pdfcraft`, `figcraft`, `vectorcraft`, `solidcraft`) registriert. |
|
||||
|
||||
## Datenschutz
|
||||
|
||||
|
||||
+20
-5
@@ -1,6 +1,6 @@
|
||||
# Claude-Werkzeuge einrichten
|
||||
|
||||
Mit dieser Anleitung kann Claude auf deinem Rechner Word-Dokumente, Excel-Tabellen, PDFs, Oberflächen-Entwürfe und Vektorgrafiken bearbeiten. Dauer: etwa 10 Minuten je Werkzeug. Du brauchst keine Programmierkenntnisse.
|
||||
Mit dieser Anleitung kann Claude auf deinem Rechner Word-Dokumente, Excel-Tabellen, PDFs, Oberflächen-Entwürfe, Vektorgrafiken und parametrische 3D-Teile bearbeiten. Dauer: etwa 10 Minuten je Werkzeug. Du brauchst keine Programmierkenntnisse.
|
||||
|
||||
Für jedes Werkzeug installierst du zwei Dinge:
|
||||
|
||||
@@ -35,17 +35,28 @@ Installiere den [ArtCraft-Launcher](https://getartcraft.com/apps) und darin die
|
||||
|
||||
FigCraft steht im Launcher seit Version **0.4.1**. Ältere Kataloge mit zwölf Apps führen es nicht. Fehlt die Kachel, den Launcher aktualisieren. Installer: [GitHub Releases](https://github.com/storytold/craft-launcher/releases).
|
||||
|
||||
## 1b. SolidCraft installieren
|
||||
|
||||
SolidCraft wird getrennt vom ArtCraft-Launcher installiert. Installer: [GitHub Releases](https://github.com/tangency-labs/solidcraft/releases) (MSI) oder in der Konsole `winget install bherbruck.SolidCraft`. Den Standardpfad nicht ändern.
|
||||
|
||||
| App | Wofür | CLI |
|
||||
|---|---|---|
|
||||
| SolidCraft | parametrische 3D-Teile, STEP, STL, 3MF | `C:\Program Files\SolidCraft\solidcraft-cli.exe` |
|
||||
|
||||
Die CLI ist **nicht** auf PATH. Die Erweiterung enthält sie nicht. Der MCP-Server läuft ohne Fenster und bekommt zwei Argumente `--allow-path` (Lese-Ordner und Schreib-Ordner). Kein `--connect`, kein `--allow-any-path`. Skill-Version: **0.1.0**.
|
||||
|
||||
---
|
||||
|
||||
## 2. Dateien herunterladen
|
||||
|
||||
Lade die passende Version herunter (WordCraft und GridCraft **0.3.0**, PdfCraft, FigCraft und VectorCraft **0.1.0**):
|
||||
Lade die passende Version herunter (WordCraft und GridCraft **0.3.0**, PdfCraft, FigCraft, VectorCraft und SolidCraft **0.1.0**):
|
||||
|
||||
- [wordcraft-mcp-v0.3.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.3.0/wordcraft-mcp-v0.3.0.mcpb) und [wordcraft-mcp-v0.3.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.3.0/wordcraft-mcp-v0.3.0.zip)
|
||||
- [gridcraft-mcp-v0.3.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.3.0/gridcraft-mcp-v0.3.0.mcpb) und [gridcraft-mcp-v0.3.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.3.0/gridcraft-mcp-v0.3.0.zip)
|
||||
- [pdfcraft-mcp-v0.1.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/pdfcraft-mcp%2Fv0.1.0/pdfcraft-mcp-v0.1.0.mcpb) und [pdfcraft-mcp-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/pdfcraft-mcp%2Fv0.1.0/pdfcraft-mcp-v0.1.0.zip)
|
||||
- [figcraft-mcp-v0.1.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/figcraft-mcp%2Fv0.1.0/figcraft-mcp-v0.1.0.mcpb) und [figcraft-mcp-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/figcraft-mcp%2Fv0.1.0/figcraft-mcp-v0.1.0.zip)
|
||||
- [vectorcraft-mcp-v0.1.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/vectorcraft-mcp%2Fv0.1.0/vectorcraft-mcp-v0.1.0.mcpb) und [vectorcraft-mcp-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/vectorcraft-mcp%2Fv0.1.0/vectorcraft-mcp-v0.1.0.zip)
|
||||
- [solidcraft-mcp-v0.1.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/solidcraft-mcp%2Fv0.1.0/solidcraft-mcp-v0.1.0.mcpb) und [solidcraft-mcp-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/solidcraft-mcp%2Fv0.1.0/solidcraft-mcp-v0.1.0.zip)
|
||||
|
||||
Die ZIP-Dateien **nicht entpacken**.
|
||||
|
||||
@@ -59,9 +70,10 @@ Für jede `.mcpb`-Datei:
|
||||
2. Die `.mcpb`-Datei **doppelklicken** – oder sie ins Claude-Fenster ziehen.
|
||||
*Klappt beides nicht:* Einstellungen → Erweiterungen → Erweiterte Einstellungen → „Erweiterung installieren…“ → Datei auswählen.
|
||||
3. Es öffnet sich ein Installationsfenster. Angaben prüfen und bestätigen.
|
||||
4. **WordCraft, PdfCraft, FigCraft und VectorCraft** fragen nach zwei Ordnern. GridCraft nicht.
|
||||
4. **WordCraft, PdfCraft, FigCraft, VectorCraft und SolidCraft** fragen nach zwei Ordnern. GridCraft nicht.
|
||||
- **Lese-Ordner (weit):** `Dokumente`.
|
||||
- **Schreib-Ordner (eng, und bei PdfCraft und VectorCraft darin):** `Dokumente\Claude`. PdfCraft und VectorCraft öffnen eigene Ergebnisse sonst nicht wieder. Bei FigCraft ist die Lage egal; denselben Standard verwenden.
|
||||
- **SolidCraft:** beide Ordner ausfüllen. Jeder wird als `--allow-path` übergeben. Fehlt ein Ordner, kann der Agent dort nicht speichern. Der Server startet ohne Fenster und ohne `--connect`.
|
||||
5. Installieren. Die Erweiterung erscheint unter Einstellungen → Erweiterungen.
|
||||
|
||||
**Danach unter Einstellungen → Erweiterungen prüfen, dass die Erweiterungen eingeschaltet sind.** Frisch installierte Erweiterungen können ausgeschaltet sein.
|
||||
@@ -78,7 +90,7 @@ Für jede `.zip`-Datei:
|
||||
1. In Claude auf **„+“** → **„Skill erstellen“** → **„Skill hochladen“**.
|
||||
2. Die ZIP-Datei auswählen und bestätigen.
|
||||
|
||||
Die Skills heißen danach `wordcraft-mcp`, `gridcraft-mcp`, `pdfcraft-mcp`, `figcraft-mcp` und `vectorcraft-mcp`.
|
||||
Die Skills heißen danach `wordcraft-mcp`, `gridcraft-mcp`, `pdfcraft-mcp`, `figcraft-mcp`, `vectorcraft-mcp` und `solidcraft-mcp`.
|
||||
|
||||
---
|
||||
|
||||
@@ -99,12 +111,13 @@ Je App ein kurzer Test:
|
||||
- **PdfCraft:** ein Test-PDF schwärzen und `doc_audit_redactions` ausführen.
|
||||
- **FigCraft:** eine kleine HMI-Maske als PNG exportieren.
|
||||
- **VectorCraft:** ein Typenschild 100×50 mm als DXF exportieren und die Maße im CAD prüfen.
|
||||
- **SolidCraft:** einen Quader 40×30×20 mm bauen und das Volumen prüfen lassen (24000 mm³).
|
||||
- **GridCraft:** eine kleine Excel-Tabelle mit drei Zeilen im Ausgabeordner anlegen.
|
||||
- **WordCraft:** ein kurzes Dokument im Schreib-Ordner speichern.
|
||||
|
||||
Beim ersten Mal fragt Claude, ob es die Werkzeuge benutzen darf – erlauben. Die Werkzeuge heißen mit Präfix `…PdfCraft_for_Claude…` (und entsprechend für die anderen Apps).
|
||||
|
||||
Lass bei WordCraft `open_document` / `save_document`, bei GridCraft `open_workbook` / `save_workbook` / `execute_command`, bei PdfCraft `doc_open` / `doc_save` / `tool_call` und bei FigCraft und VectorCraft `open_file` / `save_file` / `export` auf **„Immer fragen“**, wenn du Pfade mitkontrollieren willst.
|
||||
Lass bei WordCraft `open_document` / `save_document`, bei GridCraft `open_workbook` / `save_workbook` / `execute_command`, bei PdfCraft `doc_open` / `doc_save` / `tool_call`, bei FigCraft und VectorCraft `open_file` / `save_file` / `export` und bei SolidCraft `open` / `save` / `export` auf **„Immer fragen“**, wenn du Pfade mitkontrollieren willst.
|
||||
|
||||
---
|
||||
|
||||
@@ -123,6 +136,8 @@ Lass bei WordCraft `open_document` / `save_document`, bei GridCraft `open_workbo
|
||||
|---|---|
|
||||
| Claude sagt, die Werkzeuge fehlen | Einstellungen → Erweiterungen: ist die Erweiterung eingeschaltet? Einschalten, dann neuen Chat öffnen. |
|
||||
| Werkzeuge fehlen, Erweiterung ist eingeschaltet | Prüfen, ob `C:\Program Files\<App>\<app>-cli.exe` existiert; sonst über den ArtCraft-Launcher installieren. |
|
||||
| SolidCraft: Werkzeuge fehlen, Erweiterung ist eingeschaltet | `C:\Program Files\SolidCraft\solidcraft-cli.exe` prüfen. Sonst den eigenen Installer (MSI oder `winget install bherbruck.SolidCraft`). |
|
||||
| SolidCraft speichert die Datei nicht | Beide Ordner im Dialog gesetzt? Die Args sind zwei `--allow-path`, kein `--connect`. |
|
||||
| Speichern scheitert („path rejected“) | Ziel lag außerhalb des Schreib-Ordners, oder (PdfCraft, VectorCraft) der Schreib-Ordner liegt nicht im Lese-Ordner. Einstellungen → Erweiterungen → die App → Einstellungen. |
|
||||
| FigCraft fehlt im Launcher | Launcher auf 0.4.1 oder neuer aktualisieren. |
|
||||
| Excel-Formeln zeigen `#NAME?` | Claude hat deutsche Funktionsnamen benutzt. Sagen: „Nutze englische Formeln, wie im Skill beschrieben.“ |
|
||||
|
||||
@@ -11,6 +11,7 @@ $ServerKeys = @{
|
||||
'pdfcraft-mcp' = 'pdfcraft'
|
||||
'figcraft-mcp' = 'figcraft'
|
||||
'vectorcraft-mcp' = 'vectorcraft'
|
||||
'solidcraft-mcp' = 'solidcraft'
|
||||
}
|
||||
|
||||
function Get-McpServerKey([string]$SkillName) {
|
||||
|
||||
@@ -18,6 +18,7 @@ SERVER_KEYS = {
|
||||
"pdfcraft-mcp": "pdfcraft",
|
||||
"figcraft-mcp": "figcraft",
|
||||
"vectorcraft-mcp": "vectorcraft",
|
||||
"solidcraft-mcp": "solidcraft",
|
||||
}
|
||||
|
||||
def skill_names():
|
||||
|
||||
+24
-4
@@ -1,4 +1,4 @@
|
||||
# Checks that the ArtCraft-Launcher CLI is installed and refreshes upstream.json + LICENSES.
|
||||
# Checks that the skill CLI is installed and refreshes upstream.json + LICENSES.
|
||||
# Does NOT copy or ship the EXE into the extension package.
|
||||
# Usage: scripts\fetch-cli.ps1 -Name <skill-name> [-CliPath <path>]
|
||||
param(
|
||||
@@ -45,6 +45,13 @@ $defaults = @{
|
||||
Repo = 'https://github.com/storytold/vectorcraft'
|
||||
RepoSlug = 'storytold/vectorcraft'
|
||||
}
|
||||
'solidcraft-mcp' = @{
|
||||
ExeName = 'solidcraft-cli.exe'
|
||||
Default = 'C:\Program Files\SolidCraft\solidcraft-cli.exe'
|
||||
Repo = 'https://github.com/tangency-labs/solidcraft'
|
||||
RepoSlug = 'tangency-labs/solidcraft'
|
||||
Source = 'SolidCraft-Installer'
|
||||
}
|
||||
}
|
||||
|
||||
if (-not $defaults.ContainsKey($Name)) {
|
||||
@@ -52,10 +59,17 @@ if (-not $defaults.ContainsKey($Name)) {
|
||||
exit 1
|
||||
}
|
||||
$meta = $defaults[$Name]
|
||||
$sourceName = 'ArtCraft-Launcher'
|
||||
if ($meta.ContainsKey('Source') -and $meta.Source) { $sourceName = [string]$meta.Source }
|
||||
$src = if ($CliPath) { $CliPath } else { $meta.Default }
|
||||
if (-not (Test-Path -LiteralPath $src)) {
|
||||
Write-Host "CLI fehlt: $src"
|
||||
Write-Host "Bitte die App ueber den ArtCraft-Launcher installieren, oder -CliPath angeben."
|
||||
if ($sourceName -eq 'ArtCraft-Launcher') {
|
||||
Write-Host "Bitte die App ueber den ArtCraft-Launcher installieren, oder -CliPath angeben."
|
||||
}
|
||||
else {
|
||||
Write-Host "Bitte die App ueber den eigenen Installer installieren, oder -CliPath angeben."
|
||||
}
|
||||
exit 1
|
||||
}
|
||||
|
||||
@@ -65,9 +79,15 @@ New-Item -ItemType Directory -Force -Path $serverDir | Out-Null
|
||||
Get-ChildItem -LiteralPath $serverDir -Filter '*.exe' -ErrorAction SilentlyContinue | Remove-Item -Force
|
||||
$readme = Join-Path $serverDir 'README.txt'
|
||||
if (-not (Test-Path $readme)) {
|
||||
if ($sourceName -eq 'ArtCraft-Launcher') {
|
||||
$installLine = 'Installiere die App ueber den ArtCraft-Launcher.'
|
||||
}
|
||||
else {
|
||||
$installLine = 'Installiere die App ueber den eigenen Installer.'
|
||||
}
|
||||
Write-Text $readme @"
|
||||
Diese Erweiterung enthaelt keine CLI.
|
||||
Installiere die App ueber den ArtCraft-Launcher.
|
||||
$installLine
|
||||
Erwarteter Pfad: $src
|
||||
"@
|
||||
}
|
||||
@@ -87,7 +107,7 @@ if (-not $ver) {
|
||||
|
||||
$hash = (Get-FileHash -LiteralPath $src -Algorithm SHA256).Hash.ToLowerInvariant()
|
||||
$upstream = @{
|
||||
source = 'ArtCraft-Launcher'
|
||||
source = $sourceName
|
||||
path = $src
|
||||
exe = $meta.ExeName
|
||||
version = $ver
|
||||
|
||||
+22
-5
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Checks that the ArtCraft-Launcher CLI is installed and refreshes upstream.json + LICENSES.
|
||||
# Checks that the skill CLI is installed and refreshes upstream.json + LICENSES.
|
||||
# Does NOT copy or ship the EXE into the extension package.
|
||||
# Usage: scripts/fetch-cli.sh <skill-name> [cli-path]
|
||||
set -euo pipefail
|
||||
@@ -18,6 +18,7 @@ if [[ ! -f "$ext/manifest.json" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
source_name='ArtCraft-Launcher'
|
||||
case "$name" in
|
||||
wordcraft-mcp)
|
||||
exe_name=wordcraft-cli.exe
|
||||
@@ -49,6 +50,13 @@ case "$name" in
|
||||
repo='https://github.com/storytold/vectorcraft'
|
||||
repo_slug='storytold/vectorcraft'
|
||||
;;
|
||||
solidcraft-mcp)
|
||||
exe_name=solidcraft-cli.exe
|
||||
default='C:/Program Files/SolidCraft/solidcraft-cli.exe'
|
||||
repo='https://github.com/tangency-labs/solidcraft'
|
||||
repo_slug='tangency-labs/solidcraft'
|
||||
source_name='SolidCraft-Installer'
|
||||
;;
|
||||
*)
|
||||
echo "Kein CLI-Mapping fuer Skill '$name'." >&2
|
||||
exit 1
|
||||
@@ -58,16 +66,25 @@ esac
|
||||
src="${cli_path:-$default}"
|
||||
if [[ ! -f "$src" ]]; then
|
||||
echo "CLI fehlt: $src" >&2
|
||||
echo "Bitte die App ueber den ArtCraft-Launcher installieren, oder Pfad als Argument angeben." >&2
|
||||
if [[ "$source_name" == ArtCraft-Launcher ]]; then
|
||||
echo "Bitte die App ueber den ArtCraft-Launcher installieren, oder Pfad als Argument angeben." >&2
|
||||
else
|
||||
echo "Bitte die App ueber den eigenen Installer installieren, oder Pfad als Argument angeben." >&2
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$ext/server"
|
||||
rm -f "$ext/server"/*.exe
|
||||
if [[ ! -f "$ext/server/README.txt" ]]; then
|
||||
if [[ "$source_name" == ArtCraft-Launcher ]]; then
|
||||
install_line='Installiere die App ueber den ArtCraft-Launcher.'
|
||||
else
|
||||
install_line='Installiere die App ueber den eigenen Installer.'
|
||||
fi
|
||||
printf '%s\n' \
|
||||
'Diese Erweiterung enthaelt keine CLI.' \
|
||||
'Installiere die App ueber den ArtCraft-Launcher.' \
|
||||
"$install_line" \
|
||||
"Erwarteter Pfad: $src" > "$ext/server/README.txt"
|
||||
fi
|
||||
|
||||
@@ -103,7 +120,7 @@ fi
|
||||
python3 -c "
|
||||
import json, sys
|
||||
print(json.dumps({
|
||||
'source': 'ArtCraft-Launcher',
|
||||
'source': sys.argv[6],
|
||||
'path': sys.argv[1],
|
||||
'exe': sys.argv[2],
|
||||
'version': sys.argv[3],
|
||||
@@ -112,7 +129,7 @@ print(json.dumps({
|
||||
'tag': 'v' + sys.argv[3],
|
||||
'bundled': False,
|
||||
}, separators=(',', ':')))
|
||||
" "$src" "$exe_name" "$ver" "$hash" "$repo" > "$ext/upstream.json"
|
||||
" "$src" "$exe_name" "$ver" "$hash" "$repo" "$source_name" > "$ext/upstream.json"
|
||||
printf '\n' >> "$ext/upstream.json" || true
|
||||
|
||||
mkdir -p "$ext/LICENSES"
|
||||
|
||||
@@ -22,6 +22,7 @@ $ServerKeys = @{
|
||||
'pdfcraft-mcp' = 'pdfcraft'
|
||||
'figcraft-mcp' = 'figcraft'
|
||||
'vectorcraft-mcp' = 'vectorcraft'
|
||||
'solidcraft-mcp' = 'solidcraft'
|
||||
}
|
||||
|
||||
function Get-McpServerKey([string]$SkillName) {
|
||||
|
||||
@@ -40,7 +40,7 @@ trap 'rm -f "$table"' EXIT
|
||||
import json, base64, sys, urllib.parse, re
|
||||
man = json.load(open(sys.argv[1], encoding="utf-8"))
|
||||
name = sys.argv[2]
|
||||
sk = {"wordcraft-mcp":"wordcraft","gridcraft-mcp":"gridcraft","pdfcraft-mcp":"pdfcraft","figcraft-mcp":"figcraft","vectorcraft-mcp":"vectorcraft"}.get(name)
|
||||
sk = {"wordcraft-mcp":"wordcraft","gridcraft-mcp":"gridcraft","pdfcraft-mcp":"pdfcraft","figcraft-mcp":"figcraft","vectorcraft-mcp":"vectorcraft","solidcraft-mcp":"solidcraft"}.get(name)
|
||||
if not sk:
|
||||
m = re.match(r"^(.+)-mcp$", name)
|
||||
sk = m.group(1) if m else name
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# Changelog – solidcraft-mcp
|
||||
|
||||
## 0.1.0 (2026-10-20)
|
||||
|
||||
- Erste Version: Skill und Claude-Desktop-Erweiterung für SolidCraft 0.16.2. SolidCraft kommt über den eigenen Installer (`C:\Program Files\SolidCraft\solidcraft-cli.exe`, nicht auf PATH), nicht über den ArtCraft-Launcher.
|
||||
- Lese- und Schreib-Ordner sind Pflicht und werden beide als `--allow-path` übergeben. Der Server läuft ohne Fenster. Kein `--connect`, kein `--allow-any-path`.
|
||||
- Cursor-Plugin `solidcraft-mcp-cursor-v0.1.0.zip` (Server `solidcraft`) inkl. Deeplink; die Ordner-Argumente werden übernommen.
|
||||
@@ -0,0 +1,88 @@
|
||||
# solidcraft-mcp
|
||||
|
||||
[Alle Skills](../../README.md)
|
||||
|
||||
## Zweck
|
||||
|
||||
Baut parametrische 3D-Teile über den MCP-Server von SolidCraft, misst sie und gibt sie als .solidcraft, STEP, STL oder 3MF aus. Getestet mit 0.16.2 (Quader 40×30×20 mm = 24000 mm³). Die Anweisungen für den Agenten stehen in [SKILL.md](SKILL.md) (clientneutral).
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- **SolidCraft 0.16.2** über den eigenen Installer, getrennt vom ArtCraft-Launcher: [GitHub Releases](https://github.com/tangency-labs/solidcraft/releases) (MSI) oder `winget install bherbruck.SolidCraft`. CLI: `C:\Program Files\SolidCraft\solidcraft-cli.exe` (nicht auf PATH)
|
||||
- Claude Desktop **oder** Cursor (siehe unten)
|
||||
- Die Erweiterung bzw. das Plugin sowie dieses Skill-ZIP
|
||||
|
||||
**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. `solidcraft-mcp-v0.1.0.mcpb` und `solidcraft-mcp-v0.1.0.zip` aus dem [Release](https://git.gundel.dev/dg/claude-skills/releases/download/solidcraft-mcp%2Fv0.1.0/solidcraft-mcp-v0.1.0.mcpb) laden.
|
||||
2. Die `.mcpb` doppelklicken (oder über Einstellungen → Erweiterungen installieren).
|
||||
3. **Beide Ordner ausfüllen.** Lese-Ordner weit: `Dokumente`. Schreib-Ordner eng: `Dokumente\Claude`. Jeder wird als `--allow-path` übergeben. Fehlt einer, kann der Agent dort nicht speichern.
|
||||
4. Unter Einstellungen → Erweiterungen prüfen, dass **SolidCraft for Claude** eingeschaltet ist.
|
||||
5. Skill-ZIP hochladen: **„+“ → „Skill erstellen“ → „Skill hochladen“**.
|
||||
6. Claude komplett beenden (auch Taskleiste) und neu starten. **Neuen** Chat öffnen.
|
||||
|
||||
**Umsteigen von der manuellen Config:** Eintrag `solidcraft` unter `mcpServers` vor der Installation entfernen.
|
||||
|
||||
## Ordner und Start
|
||||
|
||||
Der Server bekommt zwei `--allow-path` (Lese-Ordner und Schreib-Ordner) und läuft ohne Fenster. `--allow-path` erlaubt Lesen und Schreiben in dem genannten Ordner. **Kein `--connect`** (das würde eine laufende App ansprechen) und **kein `--allow-any-path`**.
|
||||
|
||||
| | Standard |
|
||||
|---|---|
|
||||
| Lesen | `${HOME}/Documents` |
|
||||
| Schreiben | `${HOME}/Documents/Claude` |
|
||||
|
||||
## Freigaben
|
||||
|
||||
In Claude bei `open`, `save` und `export` auf **„Immer fragen“** lassen, wenn du Pfade mitkontrollieren willst.
|
||||
|
||||
## Enthaltene Software
|
||||
|
||||
Die Erweiterung steuert [SolidCraft](https://github.com/tangency-labs/solidcraft) (MIT oder Apache-2.0) aus dem eigenen Installer; die CLI wird **nicht** mitgeliefert. Lizenztexte liegen in der `.mcpb` unter `LICENSES/`. Das Icon ist die App-Kachel 512×512 aus `assets/icons/app/linux/exports/hicolor/512x512/apps/ai.storyteller.solidcraft.png` (Tag v0.16.2, ebenfalls MIT oder Apache-2.0).
|
||||
|
||||
## Test
|
||||
|
||||
Neuen Chat öffnen und einen Quader 40×30×20 mm bauen lassen. Das Volumen muss 24000 mm³ sein. Präfix `…SolidCraft_for_Claude…`.
|
||||
|
||||
Fehlen die Tools: Erweiterung eingeschaltet? CLI unter `C:\Program Files\SolidCraft\solidcraft-cli.exe`? Neu starten, neuer Chat.
|
||||
|
||||
## Stolpersteine
|
||||
|
||||
- Speichern scheitert, weil der Pfad außerhalb der erlaubten Ordner liegt: beide Ordner unter Einstellungen → Erweiterungen → SolidCraft for Claude setzen.
|
||||
- Erweiterungen sind nicht signiert; nur installieren, wenn du der Quelle vertraust.
|
||||
|
||||
## Deinstallation/Update
|
||||
|
||||
Einstellungen → Erweiterungen → entfernen; Skill löschen. Update: neue `.mcpb` und Skill-ZIP, ersetzen lassen, neu starten.
|
||||
|
||||
## Alternative: manuell (für Entwickler)
|
||||
|
||||
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`
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"solidcraft": {
|
||||
"command": "C:\\Program Files\\SolidCraft\\solidcraft-cli.exe",
|
||||
"args": [
|
||||
"mcp",
|
||||
"--allow-path", "C:\\Pfad\\zu\\Dokumente",
|
||||
"--allow-path", "C:\\Pfad\\zu\\Dokumente\\Claude"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Beide `--allow-path` setzen. `--connect` und `--allow-any-path` weglassen.
|
||||
|
||||
## Änderungen
|
||||
|
||||
[CHANGELOG.md](CHANGELOG.md)
|
||||
@@ -0,0 +1,90 @@
|
||||
---
|
||||
name: solidcraft-mcp
|
||||
description: parametrische 3D-Teile über den SolidCraft-MCP-Server bauen, ändern, messen und als .solidcraft, STEP, STL oder 3MF ausgeben. Verwenden, wenn SolidCraft-Werkzeuge verbunden sind oder der Nutzer SolidCraft nennt; typisch für Laschen, Platten, Gehäuse, Bohrbilder. Nicht für 2D-DXF (VectorCraft) und nicht für native SOLIDWORKS-Dateien.
|
||||
---
|
||||
|
||||
# Parametrische Teile mit SolidCraft (MCP)
|
||||
|
||||
SolidCraft ist ein Open-Source-CAD (Rust) für parametrische Volumenkörper. Getestet mit Version 0.16.2.
|
||||
|
||||
## Voraussetzung
|
||||
|
||||
Die Werkzeuge `list_commands`, `execute`, `batch`, `inspect_design`, `measure`, `screenshot`, `export`, `open`, `save` … müssen verbunden sein. Ihr Präfix hängt vom Client und vom Namen der Erweiterung bzw. des Servers ab. Fehlen sie, dem Nutzer sagen, dass der Server nicht verbunden ist (Einrichtung siehe README).
|
||||
|
||||
Dateizugriff nur in den erlaubten Ordnern (Lese- und Schreib-Ordner). Der Server läuft ohne Fenster.
|
||||
|
||||
## Werkzeuge
|
||||
|
||||
| Tool | Zweck |
|
||||
|---|---|
|
||||
| `list_commands {filter}` | Befehlskatalog (id, Bezeichnung, Parameter). Nur mit Filter |
|
||||
| `execute {command, params, verbose}` | ein Befehl; ein Fehler lässt den Entwurf unverändert |
|
||||
| `batch {commands, verbose}` | Schritte der Reihe nach; beim ersten Fehler wird der Stapel zurückgenommen |
|
||||
| `inspect_design` | Parameter, Zeitachse (Fehler, Warnung), Körper, Skizzen |
|
||||
| `measure` | Volumen (mm³), Fläche, Schwerpunkt, Hüllbox, Zählungen |
|
||||
| `body_topology {body}` | Kanten (Mittelpunkt) und Flächen (Name, Punkt) eines Körpers |
|
||||
| `set_parameter {name, value}` | Parameter anlegen oder ändern und neu rechnen |
|
||||
| `screenshot` | PNG; immer `source: "model"` |
|
||||
| `export {path, format}` | step, 3mf, stl, urdf |
|
||||
| `open {path}` / `save {path}` | .solidcraft, STEP; STL und 3MF als Netz |
|
||||
| `new_design` | leerer Entwurf |
|
||||
| `undo` / `redo` | ein Schritt zurück oder wieder vor |
|
||||
|
||||
## Arbeitsweise
|
||||
|
||||
1. **Zuerst rechnen:** Parameter, Lage (Teil um den Ursprung legen, damit Muster und Spiegel an den Ebenen hängen), für jede Kante oder Fläche den Weltpunkt, erwartetes Volumen und die Hüllbox.
|
||||
2. **Wenige große `batch`-Aufrufe:** (1) Parameter und erster Körper, (2) Verrundung und Schale, (3) Bohrungen und Schnitte. Ein Stapel ist alles oder nichts (`failed.index`, `failed.error`). Einen riskanten Schritt allein schicken.
|
||||
3. **Danach `measure`** gegen die eigene Rechnung. Volumen, Hüllbox und Flächenzahl (`faces`, nicht `kernel.faces`). Eine Lücke von etwa 0,001–0,01 % gilt als Treffer; lange flache Bögen etwa 0,1 %.
|
||||
4. **Kanten** über den exakten Mittelpunkt wählen, als nackte Zahlen. Die senkrechte Eckkante eines zentrierten Quaders liegt bei `[w/2, d/2, h/2]`.
|
||||
5. **`list_commands` nur mit `filter`.** Ohne Filter ist die Liste über 100 KB.
|
||||
6. In großen Entwürfen `"verbose": false` an `batch` und `execute`.
|
||||
|
||||
Längen sind mm. Winkel in Ausdrücken brauchen eine Einheit, z. B. `"30 deg"`.
|
||||
|
||||
## Fallen
|
||||
|
||||
- **Ein Schnitt kann Erfolg melden und das Volumen unverändert lassen.** Im Test mit 0.16.2 bestätigt: `solid.box` mit `length` 40, `width` 30, `height` 20 ergab 24000 mm³ (Hüllbox 0–40 × 0–30 × 0–20, 6 Flächen). Ein `solid.cylinder` mit `operation: "cut"` außerhalb des Quaders meldete keinen Fehler und ließ das Volumen bei 24000 mm³. Nur ein `measure`, das zur Rechnung passt, zählt. Die Doku beschreibt dasselbe für eine Bohrung, deren Skizze unter dem Teil in der Luft liegt: die Skizze auf die Deckfläche legen (`offset` der Höhe).
|
||||
- **Die Kantenwahl schnappt ohne Fehler an die nächste Kante.** Keine Abstandsschranke. Den Mittelpunkt aus der Geometrie rechnen und danach prüfen, ob sich die Flächenzahl geändert hat. Eine Wahl ist eine nackte Zahl, wird einmal aufgelöst und folgt danach ihrer Kante.
|
||||
- **Außen verrunden, bevor geschält wird,** damit die Schale den Rundungen folgt. Ausnahme: eine Kante der Fläche, die die Schale entfernt (der Rand eines offenen Kastens). Diese Kante erst nach der Schale runden, sonst kann die Schale scheitern.
|
||||
- **Eine nackte Zahl folgt keinem Parameter.** Was mitziehen soll, steht in einer Skizzenbemaßung oder einem Ausdruck (`"w/2 - wall"`). `solid.cylinder` nimmt Ausdrücke in `base`; `solid.hole` mit `position` ebenfalls.
|
||||
- **`new_design` und `open` verwerfen ungespeicherte Arbeit.** Hat der Entwurf schon Features auf der Zeitachse, vorher fragen. Sonst in den offenen Entwurf weiterbauen.
|
||||
- **Screenshot mit `source: "model"`.** `width` und `height` gelten nur für Modellbilder. Ohne `source` liefert ein mit der App verbundener Server das Fenster, und `view` dreht dessen Kamera. Für Features in Wänden `"view": "top"`.
|
||||
|
||||
## Rezepte
|
||||
|
||||
1. **Grundplatte mit Bohrbild und Parameteränderung:**
|
||||
1. Parameter für Länge, Breite, Dicke und Randabstand.
|
||||
2. Ein `batch`: Skizze auf `XY`, Rechteck über den Ursprung, Extrusion, Verrundung der Außenecken über ihre Mittelpunkte, Bohrung auf der Deckfläche, rechteckiges Muster mit Abständen als Ausdrücke.
|
||||
3. `measure` gegen das gerechnete Volumen.
|
||||
4. `set_parameter` der Länge, erneut `measure`: die Bohrungen bleiben in den Ecken, Schwerpunkt und Hüllbox verschieben sich um den gerechneten Betrag.
|
||||
5. `save` als `.solidcraft`, `export` als STEP.
|
||||
2. **Kleines Gehäuse (Deckel offen):**
|
||||
1. Kasten (`solid.box` oder Extrusion).
|
||||
2. Außenkanten verrunden.
|
||||
3. Schale: die Deckfläche entfernen (`solid.shell`, Punkt oder Flächenname), Wandstärke als Parameter.
|
||||
4. Den Rand der Öffnung danach runden.
|
||||
5. `measure` nach Verrundung und nach der Schale. Speichern, STEP für die Weitergabe.
|
||||
3. **Vorhandenes STEP öffnen, messen, Iso-Bild:** `open` nur mit Zustimmung (siehe Datenschutz). `measure` (Volumen, Hüllbox, Körperszahl). Ein Bild mit `screenshot {source: "model", view: "iso"}`. Nichts ändern, solange der Nutzer nur messen und ansehen will.
|
||||
|
||||
## Abschlussprüfung
|
||||
|
||||
- `measure` passt zum selbst gerechneten Volumen, zur Hüllbox und zur Flächenzahl.
|
||||
- `inspect_design` mit `measure: false` und `sketches: false`: kein `error` in der Zeitachse. Eine Boolean-Warnung ist harmlos, wenn das Volumen trotzdem stimmt; stimmt es nicht, kann die Geometrie falsch sein, ohne dass ein Fehler gemeldet wurde.
|
||||
- Ein `screenshot` mit `source: "model"` angesehen.
|
||||
- Pfade von `.solidcraft` und Export dem Nutzer genannt.
|
||||
|
||||
## Datenschutz
|
||||
|
||||
Ampel:
|
||||
- 🟢 Allgemeine und technische Inhalte ohne Kundenbezug.
|
||||
- 🟡 Projekt- und Geschäftsinfos: nur nach Abwägung oder anonymisiert.
|
||||
- 🔴 Personenbezogene Daten und NDA-Inhalte gehören nicht in die Cloud-KI.
|
||||
|
||||
Ein Kunden-STEP mit Kundenname oder NDA-Vermerk ist 🔴: nur mit Zustimmung des Nutzers öffnen.
|
||||
|
||||
## Grenzen
|
||||
|
||||
- Kein SLDPRT und kein SLDASM. Native SOLIDWORKS-Dateien werden nicht geöffnet.
|
||||
- Kein Ersatz für eine freigegebene Fertigungszeichnung. STEP und STL sind Geometrie, keine Zeichnung mit Toleranzen.
|
||||
- Baugruppen mit Gelenken nur am Rand. `export` kann URDF schreiben; Gelenke, Kontakte und Bewegungsstudien gehören nicht in diesen Ablauf.
|
||||
- 2D-DXF für Laser bleibt bei VectorCraft.
|
||||
@@ -0,0 +1,2 @@
|
||||
server/*.exe
|
||||
**/*.exe
|
||||
@@ -0,0 +1,177 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2026 SolidCraft contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,33 @@
|
||||
SolidCraft
|
||||
Copyright (c) 2026 SolidCraft contributors.
|
||||
Licensed under the MIT License or the Apache License, Version 2.0, at your option
|
||||
(LICENSE-MIT, LICENSE-APACHE).
|
||||
|
||||
Third-party material
|
||||
|
||||
Software dependencies are listed in Cargo.lock; their licences are in THIRD-PARTY-LICENSES.txt
|
||||
(`cargo xtask licences`), which the programs also carry (Help > About > Licences,
|
||||
`solidcraft-cli licences`). The geometry kernel builds on the truck crates
|
||||
(truck-modeling, truck-shapeops, truck-meshalgo, truck-stepio, truck-topology and their
|
||||
dependencies, https://github.com/ricosjp/truck), licensed under the Apache License 2.0 and used
|
||||
as libraries. truck-shapeops 0.4.0 is vendored in vendor/truck-shapeops with SolidCraft
|
||||
modifications (listed in vendor/README.md and marked in the source); its licence is in
|
||||
vendor/truck-shapeops/LICENSE. Copyright (c) RICOS Co. Ltd.
|
||||
|
||||
Some code is adapted from sibling projects in the storytold family (CADCraft, GridCraft), which are
|
||||
licensed MIT OR Apache-2.0; ATTRIBUTION.md lists the files.
|
||||
The release packaging (.github/workflows/release.yml, packaging/) is adapted from PhotoCraft
|
||||
(https://github.com/storytold/photocraft), licensed under the Apache License 2.0.
|
||||
|
||||
The incremental Radiance RGBE row adapter in crates/render/src/lighting/hdr.rs adapts
|
||||
decoding state machines from image 0.25.10 (https://github.com/image-rs/image),
|
||||
MIT OR Apache-2.0. ATTRIBUTION.md describes the bounded/cancellable changes; the
|
||||
original licence texts are included in THIRD-PARTY-LICENSES.txt.
|
||||
|
||||
Most bundled assets are drawn in code or contributed originally; third-party fonts (Liberation Sans
|
||||
for sketch text, BIZ UDPGothic for web Japanese display) are licensed under SIL OFL 1.1. The
|
||||
per-file list is in ATTRIBUTION.md.
|
||||
|
||||
SolidCraft is an independent project and is not affiliated with, sponsored by or endorsed by
|
||||
Autodesk, Inc. Autodesk and Fusion are trademarks of Autodesk, Inc.; they are used here only to
|
||||
describe compatibility goals.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
@@ -0,0 +1,110 @@
|
||||
{
|
||||
"manifest_version": "0.3",
|
||||
"name": "solidcraft-mcp",
|
||||
"display_name": "SolidCraft for Claude",
|
||||
"version": "0.1.0",
|
||||
"description": "Parametrische 3D-Teile bauen, ändern, messen und als STEP, STL oder 3MF ausgeben. Getestet mit SolidCraft 0.16.2. Benötigt SolidCraft aus dem eigenen Installer unter C:\\Program Files\\SolidCraft\\.",
|
||||
"author": {
|
||||
"name": "Dominic Gundel"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://git.gundel.dev/dg/claude-skills.git"
|
||||
},
|
||||
"homepage": "https://git.gundel.dev/dg/claude-skills",
|
||||
"license": "MIT",
|
||||
"icon": "icon.png",
|
||||
"compatibility": {
|
||||
"platforms": [
|
||||
"win32"
|
||||
]
|
||||
},
|
||||
"server": {
|
||||
"type": "binary",
|
||||
"entry_point": "server/README.txt",
|
||||
"mcp_config": {
|
||||
"command": "C:\\Program Files\\SolidCraft\\solidcraft-cli.exe",
|
||||
"args": [
|
||||
"mcp",
|
||||
"--allow-path",
|
||||
"${user_config.read_root}",
|
||||
"--allow-path",
|
||||
"${user_config.write_root}"
|
||||
]
|
||||
}
|
||||
},
|
||||
"tools": [
|
||||
{
|
||||
"name": "list_commands",
|
||||
"description": "Command catalog: id, label, tab/panel, shortcut, parameter docs, enabled now. filter matches id, label, tab and panel."
|
||||
},
|
||||
{
|
||||
"name": "execute",
|
||||
"description": "Run any command with JSON parameters. Failures leave the design unchanged."
|
||||
},
|
||||
{
|
||||
"name": "batch",
|
||||
"description": "Run steps in order, stop at the first error and undo the completed steps."
|
||||
},
|
||||
{
|
||||
"name": "inspect_design",
|
||||
"description": "Parameters, timeline, bodies, sketches, selection and undo depth."
|
||||
},
|
||||
{
|
||||
"name": "measure",
|
||||
"description": "Volume (mm3), area, centre of mass, bounding box and topology counts per body, with totals."
|
||||
},
|
||||
{
|
||||
"name": "body_topology",
|
||||
"description": "Edges (midpoint, length, ends) and faces (name, point, centroid) of one body."
|
||||
},
|
||||
{
|
||||
"name": "set_parameter",
|
||||
"description": "Create or change a user parameter and recompute."
|
||||
},
|
||||
{
|
||||
"name": "screenshot",
|
||||
"description": "A PNG image of a named view or camera. Pass source model so width and height apply."
|
||||
},
|
||||
{
|
||||
"name": "export",
|
||||
"description": "STEP, 3MF or mesh export; URDF writes the assembly with its meshes."
|
||||
},
|
||||
{
|
||||
"name": "open",
|
||||
"description": "Open a .solidcraft design, a STEP file as bodies, or a 3MF/STL file as mesh bodies."
|
||||
},
|
||||
{
|
||||
"name": "save",
|
||||
"description": "Save the design, to its current file when path is omitted."
|
||||
},
|
||||
{
|
||||
"name": "new_design",
|
||||
"description": "Start an empty design."
|
||||
},
|
||||
{
|
||||
"name": "undo",
|
||||
"description": "Undo one change."
|
||||
},
|
||||
{
|
||||
"name": "redo",
|
||||
"description": "Redo one change."
|
||||
}
|
||||
],
|
||||
"user_config": {
|
||||
"read_root": {
|
||||
"type": "directory",
|
||||
"title": "Lese-Ordner",
|
||||
"description": "Erlaubter Ordner, weit fassen (z. B. Dokumente). Beide Ordner ausfüllen, sonst kann der Agent dort nicht speichern.",
|
||||
"required": true,
|
||||
"default": "${HOME}/Documents"
|
||||
},
|
||||
"write_root": {
|
||||
"type": "directory",
|
||||
"title": "Schreib-Ordner",
|
||||
"description": "Zweiter erlaubter Ordner, eng fassen, z. B. Dokumente\\Claude. Wird als weiteres --allow-path übergeben.",
|
||||
"required": true,
|
||||
"default": "${HOME}/Documents/Claude"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
Diese Erweiterung enthaelt keine CLI.
|
||||
Installiere SolidCraft ueber den eigenen Installer.
|
||||
Erwarteter Pfad: C:\Program Files\SolidCraft\solidcraft-cli.exe
|
||||
@@ -0,0 +1 @@
|
||||
{"version":"0.16.2","repository":"https://github.com/tangency-labs/solidcraft","bundled":false,"source":"SolidCraft-Installer","exe":"solidcraft-cli.exe","path":"C:\\Program Files\\SolidCraft\\solidcraft-cli.exe","tag":"v0.16.2","sha256":"ad153608cde0323577f7d6bc8e9cd1a0390d649495aac3adfa7b79ff83f06190"}
|
||||
Reference in new issue
Block a user