{ "manifest_version": "0.3", "name": "vectorcraft-mcp", "display_name": "VectorCraft for Claude", "version": "0.1.0", "description": "Vektorgrafiken zeichnen – Typenschilder, Schilder, Piktogramme – und als SVG/PDF/DXF exportieren. Getestet mit VectorCraft 0.13.1. Benötigt VectorCraft aus dem ArtCraft-Launcher unter C:\\Program Files\\VectorCraft\\.", "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\\VectorCraft\\vectorcraft-cli.exe", "args": [ "mcp", "--automation-read-root", "${user_config.read_root}", "--automation-write-root", "${user_config.write_root}" ] } }, "tools": [ { "name": "command_list", "description": "Discover command ids, labels, parameter descriptions and enabled state." }, { "name": "command_run", "description": "Run an engine command by id with its JSON params." }, { "name": "command_batch", "description": "Run steps in order; each edit is its own undo step, or with atomic:true the whole batch is one (named `label`, else after its first edit)." }, { "name": "doc_inspect", "description": "Summary of the active document, including artboards, layer tree, selection and history." }, { "name": "render_preview", "description": "Render an artboard (default the first) as inline PNG without changing the document." }, { "name": "ui_inspect", "description": "Inspect the connected desktop interface; returns a tool error in headless mode." }, { "name": "ui_screenshot", "description": "Capture the connected desktop window as inline PNG; requires a running desktop app." }, { "name": "list_commands", "description": "List VectorCraft commands (id, label, menu path, shortcut, parameter description, enabled state)." }, { "name": "run_command", "description": "Execute any VectorCraft command by id with JSON params (see list_commands for ids and params)." }, { "name": "inspect_document", "description": "Summary of the active document: artboards, layer tree (ids, names, kinds, bounds, fill/stroke), selection, undo history, current tool and default paint." }, { "name": "inspect_ui", "description": "UI state of the running desktop app: tool and options, panels, dialogs, view (zoom/center), window, documents, perf." }, { "name": "select_tool", "description": "Switch the active tool (as clicking it in the Tools panel)." }, { "name": "pointer_gesture", "description": "Drive the active tool with mouse events in document coordinates, exactly like the mouse would (e.g." }, { "name": "draw_path", "description": "Create a path from points ([[x,y],…] or [{x,y,in?:[x,y],out?:[x,y]},…] with Bézier handles) or SVG path data `d`, then apply optional paint, stroke dash/cap/join, opacity, name and live effects." }, { "name": "draw_shape", "description": "Create a live shape and apply optional paint." }, { "name": "set_paint", "description": "Set fill, stroke and/or stroke weight on the selection (or `ids`) and as the default for new art." }, { "name": "press_key", "description": "Send a key press with modifiers, e.g." }, { "name": "type_text", "description": "Type text into the focused widget (text tool, dialog field)." }, { "name": "invoke_menu", "description": "Invoke a menu item by its command id (same ids as list_commands, including UI-only commands like view.zoomIn or window.* in the desktop app)." }, { "name": "open_panel", "description": "Open a panel in the desktop app's dock by id (layers, swatches, stroke, align, pathfinder, transform, …; case-insensitive, display labels like \"Layers\" work too)." }, { "name": "screenshot", "description": "Render the active artboard to PNG and return it as an image (optionally also saving it to `path`)." }, { "name": "open_file", "description": "Open a file as a new, active document: .vectorcraft, .drawcraft, .svg, .svgz, .pdf, .ai, .ait, .png, .jpg, .jpeg, .gif, .webp, .tif, .tiff, .bmp, .tga, .vda, .icb, .vst, .psd, .psb, .vctemplate, .dxf, .emf, .wmf, .eps, ." }, { "name": "save_file", "description": "Save the active document with the engine's document.save: by default to its own file in its own format (native .vectorcraft unless it was opened from or saved as SVG, PDF or a restorable .ai)." }, { "name": "export", "description": "Export the active document with the engine's document.export (the same bytes in the app and headless), in any format of the `format` enum: vectors (svg/svgz with the artboard as viewBox, eps, dxf, emf, wmf), pdf and ai (" }, { "name": "add_text", "description": "Create point type at (x, y) (the first baseline), area type when width/height are given (`fit` autoHeight grows the frame to the text, shrinkText scales the text down to fit), or type in/on an existing path (`path` id + " }, { "name": "apply_effect", "description": "Append a live effect (Effect menu) to the selection or `ids`." }, { "name": "pathfinder", "description": "Combine the selected (or `ids`) objects destructively, back to front: unite, minusFront, intersect, exclude, divide, trim, merge, crop, outline, minusBack." }, { "name": "transform", "description": "Move, rotate, scale, reflect or shear the selection (or `ids`); several may be combined and run in that order." }, { "name": "create_graph", "description": "Create a graph (graph tools) in the plot rectangle." }, { "name": "text_wrap", "description": "Make the selected (or `ids`) objects wrap objects: area type below them in the same layer flows around them (offset in pt, invert = flow inside)." }, { "name": "undo", "description": "Undo the last change (Edit → Undo)." }, { "name": "redo", "description": "Redo the last undone change (Edit → Redo)." } ], "user_config": { "read_root": { "type": "directory", "title": "Lese-Ordner", "description": "Hier darf Claude Dateien lesen. Ruhig weit fassen (z. B. Dokumente); der Schreib-Ordner sollte darin liegen, damit Ergebnisse wieder geöffnet werden können.", "required": true, "default": "${HOME}/Documents" }, "write_root": { "type": "directory", "title": "Schreib-Ordner", "description": "Nur hier darf Claude speichern. Eng fassen, eigener Ordner, z. B. Dokumente\\Claude.", "required": true, "default": "${HOME}/Documents/Claude" } } }