SolidCraft-MCP 0.1.0 aufnehmen, damit der Skill mit eigenem Installer wie die anderen Crafts ausgeliefert werden kann.

This commit is contained in:
Dominic Gundel committed 2026-10-20 00:26:49 +02:00
1 parent ad0ea86adc
commit f3e49b5d37
21 files changed
+629 -22

No files matched your search

+7
View File
@@ -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.
+88
View File
@@ -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)
+90
View File
@@ -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"}