ZigZag MCPサーバー
コミット 2026年11月14日Model Context Protocol を使用して、AIエージェントが SVG アートワークからミシン刺繍のデザインを作成および編集できるようにします。
別名 simpsoka/zigzag
- スター
- 686
- ツール
- —
- ダウンロード数(30日間)
- —
- 最新バージョン
- —
- 最終コミット
- 2026年11月14日
- ライセンス
- Apache-2.0
ZigZag MCPとは
ZigZagはMCPサーバーです。 Model Context Protocol を使用して、AIエージェントが SVG アートワークからミシン刺繍のデザインを作成および編集できるようにします。.
プロジェクトのREADMEから生成された概要
ZigZag MCP server について
ZigZag は、デザイナーやホビーユーザー向けに、SVG アートワークをミシン刺繍のデザインに変換する機能を提供します。このツールは Model Context Protocol を介して、AIエージェントがデジタル化プロセスに協力し、ステッチパターンを直接作成・編集することを可能にします。ユーザーはベクターグラフィックスを、タタミ埋め、サテンカラム、ランニングステッチなどのさまざまなステッチタイプに変換し、実制作に向けたファイル準備を行うことができます。
開発者やメーカーは、ZigZag のコマンドラインツールまたはビジュアルエディタを使用して、複雑な刺繍ワークフローを管理します。本システムは PES、DST、EXP、JEF、VP3 といった複数の形式へのエクスポートをサポートしており、ほとんどの刺繍機との互換性を確保しています。また、Brother Skitch (PP1) へ直接デザインを送信するための専用 Bluetooth プロトコルも備えています。Rust ベースのエンジンは、オーバーラップの除去、移動ステッチの非表示化、効率的な縫製を実現するためのキャップ順序の管理など、高度なプランニングタスクを処理します。
できること
- 1SVG から刺繍ファイルへの変換AIエージェントが SVG ファイルを取り込み、PES や DST といったミシンでそのまま使用可能な形式に変換できます。
- 2ステッチパターンの生成自動化開発者は MCP ブリッジを利用して、AIエージェントにサテンやタタミ埋めなどの特定のステッチタイプを生成させることができます。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
自動チェック
実行日 2026年11月13日完全なレポート →まだ検証されていません。サーバーには80点のスコア、重大な問題がないこと、および検証に必要な十分なデータが必要です。 チェックの仕組み · 点数を上げるための改善点
- ソースリポジトリがリンクされており、アクセス可能simpsoka/zigzag is public and reachablegithub.com/simpsoka/zigzag ↗合格
- パッケージがこのリポジトリをソースとして指定未チェック
- ビルドの来歴 (Sigstore 証明)未チェック
- オープンソースライセンス (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗合格
- 過去1年以内にコミットまたはリリースありLast commit or release 2026-11-13github.com/simpsoka/zigzag ↗合格
- OpenSSF Scorecard未チェック
- パッケージ名が有名なパッケージに酷似していない未チェック
- パッケージおよびその依存関係に重大な勧告なし未チェック
- モデルへの隠れた指示がない0 tool descriptions and the README read; no override phrases, credential paths or hidden characters合格
- 破壊的なツールがラベル付けされている未チェック
- リモートエンドポイントが MCP ハンドシェイクに応答未チェック
README
GitHubで見るZigZag
ZigZag is a visual embroidery editor built in Rust for performance, with built-in MCP (Model Context Protocol) support so AI agents can create and edit designs alongside you. Turn SVG artwork into stitches, fine-tune it in the editor, and export PES, DST, EXP, JEF, or VP3 for broad compatibility with embroidery machines—or send designs directly to a Brother Skitch (PP1) over Bluetooth.
Draw in Illustrator, draw in ZigZag, or let an agent draw. The Rust engine
and zigzag command-line tool power the same workflow outside the editor.
See ZigZag in action
https://github.com/user-attachments/assets/94812f25-82f4-429f-85db-5e20c1d5e723
Stitching on a Brother Skitch (PP1)
Download the video (MP4, 1080p) · Original post on X.
Download for Mac
For Apple Silicon and Intel Macs, macOS 11 or later. Open the DMG, then drag ZigZag into Applications. The release is signed and notarized by Apple. No Rust installation is needed.
Download for Windows
Download ZigZag for Windows
— the ZigZag-<version>-x86_64-windows.zip asset on the latest release.
For 64-bit Windows 10 (version 1709 or later) and Windows 11. Unzip it and double-click ZigZag.exe. Windows SmartScreen warns on apps without a Microsoft-trusted signature the first time they run; click More info → Run anyway. No Rust installation is needed.
Release notes and checksums · Changelog · Publishing a release
zigzag/
src/svg.rs SVG import (usvg): fill and stroke parts, transforms, text
src/document/ editable document; settings saved back into SVG ids,
layout edits as SVG transforms, lettering
src/params.rs stitch settings tokens + fabric presets
src/stitch/fill.rs tatami fill (scanline sections, staggered rows)
src/stitch/satin.rs satin columns: two rails, auto-satin, underlays, short stitches
src/stitch/stroke.rs running / triple-run stitch
src/boolean.rs polygon booleans and offsets (i_overlay)
src/design.rs planner: overlap removal, cap order, routing, trims
src/route.rs travel out of sight: a way through fills and under what covers
src/checks.rs digitizing checks (sizes, widths, lettering, hoop)
src/formats/ PES (+PEC), DST, EXP, JEF, VP3, Skitch PEN writers;
PES/PEC/DST/EXP/JEF readers; preview; worksheet
src/machine/ Skitch Bluetooth protocol (+ btleplug client, `ble` feature)
src/studio/ editor (egui on OpenGL via glow) + MCP server (`gui` feature)
src/mcp_bridge.rs stdio ↔ HTTP bridge for MCP clients that launch a command
Build
cargo build --release # CLI + MCP bridge, no system deps
cargo build --release --features gui,ble # + the studio editor and Skitch upload
Linux needs the usual X11/Wayland and OpenGL dev libraries for gui. libdbus
is vendored for ble.
Stitch types
| Type | What it does | Works on |
|---|---|---|
| Fill (tatami) | Staggered rows, any angle, with underlay (edge walk + rows) and pull compensation | Filled shapes |
| Satin | Zigzag column between two rails, with center/contour/zigzag underlay, pull compensation and short stitches on tight curves; plain, S-stitch or zig-zag top stitching; several threads across the column (multicolor satin) | Strokes (any width); Ink/Stitch-style two-rail paths with rungs; filled shapes: rings use inner/outer outline, bars/letters/crescents split at their tips (auto-satin), or border follows the outline |
| Run | Running stitch, single or triple (bean) | Strokes and outlines |
| Contour | Rows that follow the outline inward, or one spiral out from the center (Ink/Stitch's circular fill) | Filled shapes |
| Blanket | E-stitch: a line with prongs into the shape | Edges, appliqué |
| Appliqué | Placement line → stop → tack-down → stop → satin cover | Filled shapes |
| Manual | Every path point is a needle point | Imported machine files, pen tool |
| Meander | One wandering line through the shape, quilting style: light and soft | Filled shapes |
| Ripple | Open running-stitch rows following the outline, or one spiral | Filled shapes |
| Cross-stitch | A grid of X's, sewn as rows of half-crosses out and back | Filled shapes |
| Tartan | Woven stripes in several threads (a mirrored sett you edit in the panel), each thread its own color block | Filled shapes |
Satins wider than 7 mm are auto-split (shorter, staggered stitches) and use auto spacing (narrow columns more open, wide ones denser).
Planner features:
- Remove overlaps: fill hidden under later objects isn't sewn (keeps 0.5 mm of overlap).
- Cap order: center-out, bottom-up, grouped by color, still respecting layering.
- Routing: travel stitches stay out of sight: straight across where a straight line stays inside the fill, otherwise round the inside of its outline (Ink/Stitch's underpath), otherwise any way through the fill (round its holes, through its necks) or under whatever is sewn later on top. A fill in separate parts is sewn part by part, each part's underlay and top together. So a fill with cut-outs, or a dither in scattered blocks under another color, is sewn with few or no cuts. Trims only where none of that works (up to 50 mm of travel).
- Sewing control per object: a start and an end point (where the thread comes in and leaves, so the next object is close), trim after, stop after (to lay foam or trim appliqué). What's left to cut is the document's Connect bar: drag it to sew across gaps up to N mm (between objects, or the parts of one) with running stitches instead of cuts. Those stitches show, so the panel counts the cuts saved as you drag and the canvas lights up what would be sewn.
- Fabric presets: standard, thin cotton cap, structured cap, knit.
- Checks: narrow fills, wide/narrow satins, small lettering, tiny gaps, fully covered objects, hoop fit.
- Group colors: reorder to cut thread changes without breaking layering.
Mac app
On a Mac with Rust and the Xcode command line tools
(xcode-select --install):
packaging/macos/make-app.sh --install # builds ZigZag.app and copies it to /Applications
packaging/macos/make-app.sh --dmg # also makes dist/ZigZag-<version>.dmg to share
packaging/macos/make-app.sh --universal # one app for Apple Silicon and Intel Macs
packaging/macos/make-app.sh --release # the DMG to publish: universal, signed, notarized
--release signs with your Developer ID and has Apple notarize the app and
the DMG, so it opens on any Mac without warnings. Once, beforehand: add a
Developer ID Application certificate (Xcode › Settings › Accounts › Manage
Certificates › +), make an app-specific password at account.apple.com, and
save the notarization credentials in your keychain:
xcrun notarytool store-credentials zigzag-notary --apple-id YOUR_APPLE_ID --team-id YOUR_TEAM_ID
The app bundles the studio, the zigzag command-line tool and the MCP
bridge. To use the command line from anywhere:
ln -s /Applications/ZigZag.app/Contents/MacOS/zigzag /usr/local/bin/zigzag.
For Claude Desktop, point the MCP config at
/Applications/ZigZag.app/Contents/MacOS/zigzag-mcp.
Without --release the app is signed ad hoc, not notarized. It opens normally on the Mac that
built it. On another Mac, macOS blocks it the first time: open System
Settings › Privacy & Security and click Open Anyway (on macOS 14 and earlier,
right-click the app and choose Open instead). macOS asks for Bluetooth
permission the first time you send to the Skitch.
Studio
The approved embroidered icons live in packaging/macos/AppIcon.png (light)
and packaging/macos/AppIcon-dark.png (dark). The Mac build regenerates both
multi-resolution .icns files; run bash packaging/macos/make-icons.sh to
regenerate them separately. Finder and the unopened app use the light icon.
While the studio is running, its Dock icon follows the app's light/dark theme,
including the ZIGZAG_THEME=light|dark override.

zigzag-studio [design.svg|logo.png] [--mcp-port 7878 | --no-mcp | --mcp-stdio]
Laid out like Illustrator, styled like a Mac app:
-
Tools down the left edge: Select (V), Direct Selection (A), Hand (H), Pen (P): click for corners, drag for curves (Option breaks the handles, Shift keeps 45°, Space moves the point being placed); while drawing, Option lends it the Anchor Point tool (drag a segment to bend it, a handle to move it alone, click a smooth point for a corner) and ⌘ lends Direct Selection (drag a point or handle, then keep drawing), and on a selected path Option-drag bends a segment too. Illustrator's Pen group is behind it: Add Anchor Point (+) clicks a point onto an outline without changing its shape, Delete Anchor Point (-) clicks one out (Option swaps the two while held), and Anchor Point (Shift+C) converts points between smooth and corner and drags one handle alone. Press and hold the Pen (or right-click it) for the group's flyout, Option-click it to step through the group, or tear the group off into a toolbar of its own with the strip at the flyout's edge; the Shape tools work the same way. Brush (B), with VectorCraft's path clean-up tools in its group: Smooth (drag along a path to take the wobble out: fewer points, smoother curves; Smoothness in the bar above), Path Eraser (drag across a path to cut that part away) and Join (scrub between two open ends to join them, or an open path's two ends to close it). Shapes (M rectangle, L ellipse, \ line; hold or right-click for polygon and star), Fill Angle (G), Measure (I), Text (T). Below them, the selection's thread swatch: click it for the thread color picker.
-
Curves, the Illustrator way: the Pen clicks corners and click-drags curves (Option while dragging breaks the handle for a sharp turn; Shift keeps points and handles at 45°; hold Space to move the point you're placing). Click the last point to make it a corner, or drag from it to start the next curve in a new direction. Click the first point to close a shape; Enter, Esc, ⌘-click or another tool ends a line and keeps it. With a path selected, the Pen continues it from an open end, adds a point on its outline, deletes a point you click, and Option-click turns a point corner ↔ smooth (Option-drag pulls out new handles). While drawing, click another open path's end to join the two into one. The cursor shows what a click will do. Direct Selection drags points and handles of any shape from your SVG (circles and rects become paths); dragging a curve bends it under the pointer (Option-drag bends a straight one; a plain drag moves it); Delete removes points, arrows nudge them.
-
Smart guides while drawing (View › Smart Guides, ⌘U): Pen points, shape corners and dragged points land on other objects' anchors and centers, where two outlines cross, on an outline, on 45° rays from the last point (level and upright handles too), or in line with any of those, with a magenta label saying which ("anchor", "intersect", "path", "align"…). With Shift, a point keeps its 45° angle and slides into line with the nearest target.
-
Round corners: in Direct Selection a small circle sits inside each sharp corner; drag it in to round the corners (the selected points', or all of them), each only as far as its sides allow. Object › Path › Round Corners… does the same with a radius and Round, Inverted or Chamfer, previewed live.
-
Brush (B), after Illustrator's Paintbrush: paint a line freehand and it comes out smooth, sewn as a satin column at the width you set (or as a running stitch). Smoothness takes out the hand's wobble; sharp turns stay sharp; end where you began to close the line. The cursor is a circle as wide as the satin.
-
Shapes, the Illustrator way: Rectangle (M), Ellipse (L), Polygon, Star and Line (\). Drag from a corner; Option draws from the center, Shift makes a square or circle, keeps a polygon or star upright and a line at 45°. While dragging a polygon or star, ↑/↓ add or remove sides or points. Click without dragging to type an exact size. The bar at the top of the canvas switches shapes and sets corner radius, sides, points and the star's inner radius. Closed shapes come in as fills, lines as runs, in the current thread.
-
Path tools: Object › Pathfinder (Unite, Minus Front, Intersect, Exclude; also buttons in the Transform panel when two or more objects are selected) and Object › Path (Offset Path…, Outline Stroke, Simplify…, Round Corners…, Clean Up…). Simplify… is VectorCraft's slider, from fewest points to closest to the original, previewed live, with Auto-Simplify picking the level for the selection's size. Clean Up… removes stray points, objects too small to sew (under 1 mm by default) and extra points (points on top of each other, points in the middle of straight lines), showing how many of each it found first. Results come back as smooth curves with their real corners (least-squares curve fitting), not as many-sided polygons.
-
Logos from images (Image Trace): open, drop or place a PNG, JPEG, WebP, GIF, BMP or TIFF and the Trace Image window traces it into flat-color shapes, previewed on your hat's color. Choose how many colors (or Auto), the width, detail and the smallest speck to keep; remove the white background; snap every color to your Brother, Janome or own palette's threads; and sew thin lines as single lines. Flat logos trace exactly (edges placed to a fraction of a pixel, corners restored, circles and straight lines exact); photos are posterized. The command line traces too:
zigzag convert logo.png -o logo.pes. -
Contextual task bar: under the selection, the next things you'd do: its stitch type, its thread, Edit Points, Round Corners, Simplify, Unite (two or more), Duplicate. View › Contextual Task Bar (or its ••• menu) hides it.
-
Ask an agent: the Agent panel (full height in the left dock; the sparkle at the bottom of the tool strip opens and closes it, and ⌘K or Window › Ask Agent… opens it with the prompt ready) runs Claude Code or Codex in the background, connected to this studio's MCP server, so you watch it build the design. It can only use the design tools (no shell, no file edits). The transcript shows what it said and each step, with a spinner on the one running (the one place it's shown; collapse the panel and its header shows the step and the time instead). On the canvas, the objects it's working on get a moving outline, a shimmer and a label saying what it's doing (Drawing, Placing, Restyling…), for any agent connected over MCP, not just the panel's. The panel is named for the agent (Claude Code or Codex; switch in its ≡ menu); + in its header starts a new chat, Stop ends a run. Uses the
claudeorcodexcommand you've already signed in to. Like any panel it can float, join another as a tab or dock right; sharing a dock it sits at the bottom, under a divider you drag to give it more room. -
Thread colors and palettes: the picker shows the nearest Brother/Janome thread, a palette to click (Brother, Janome or your own), and a small custom color field. Make palettes from scratch, from the design, or from a thread kit you own (the palette's ≡ menu › New Palette from Thread Kit: Brother's 12, 40 and 22 color sets, or 40 + 22 for all 61; then Match All keeps a design to the threads in your box), add the selection's thread with +, right-click to remove; they're remembered between launches.
-
Threads panel: the design's threads in sewing order (each color block numbered, with its stitches, and "stop" where the same thread comes twice running) or By Color (each thread once, with how many objects use it). Click a row to select what it sews; click a swatch to change that block's thread, or in By Color that thread everywhere. Group Colors and the count of color changes and trims are under the list. The panel's ≡ menu has Match All to the chosen palette, and Show Palette puts a palette to click under the list (off by default, since the thread picker has the same palettes).
-
Panels, the Illustrator way: the Agent has the left dock to itself; Objects, Stitch, Transform, Lettering, Threads and Document are on the right. The design's issues are in the status bar (bottom right): a warning sign with a count, or a check when all's well; click it (or Window › Issues) for the list, each linked to its object. Drag a panel by its header to reorder it, move it to the other dock, or drop it on the canvas to float it (each panel's ≡ menu also has Dock Left / Dock Right / Float). Drop a panel on another panel's header and they share it as tabs; drag a tab out (or use Separate in the ≡ menu) to part them, drag the header to move the group. » at the top of a dock collapses it to a strip of icons for a bigger canvas: click an icon and the panel flies out beside the strip (drag an icon to move that panel). Click a header to collapse a panel; Window › Reset Panels puts everything back. The layout is remembered.
-
Tabs, one per document (as in VectorCraft and Illustrator): Open, drop or New opens a file in a tab of its own over the canvas (the empty document you start with makes way for the first one); a file that's already open just comes forward. Each tab keeps its own undo history, selection, zoom and stitches. Click a tab to switch, ⌃Tab / ⌃⇧Tab (or Window › Next / Previous Document) to step through them, drag one to reorder, middle-click or its × (or File › Close, ⌘W) to close it; + opens a new document and » lists every tab when they don't all fit. A dot in place of the × marks unsaved changes, and closing such a tab asks whether to save it first. Right-click a tab for Close Other Tabs and Copy Path. Quitting doesn't ask: every tab comes back next time, each with its unsaved changes.
-
Menu bar (File, Edit, Object, View, Window) with the usual ⌘ shortcuts. It's the real macOS menu bar on a Mac, drawn in the window elsewhere.
-
Cursors drawn for each tool: the Pen's nib (with what a click will do), crosshairs for the Shape, Measure and Fill Angle tools, Direct Selection's hollow arrow, and a curved arrow at rotate corners.
-
Right-click menus on the canvas and the Objects list, styled like the tool flyouts: the stitch types with their icons, then the usual commands with their shortcuts.
-
Stays quick on big designs: stitches are planned once per change, reusing every object that didn't change (overlap removal too: moving one object redoes only the objects it overlaps); a design that takes more than 12 ms to plan plans in the background (the status bar says "Updating stitches…" and the last plan stays on screen meanwhile; when you drop a moved object its stitches move with it until the new plan lands). Dragging points or objects, and typing, preview without re-planning until you let go. The stitches live on the GPU: each color block's segments are uploaded once and drawn by a shader (thread shading and needle points included), so panning, zooming, dragging and the stitch player cost nothing per stitch on the CPU, whether the design has a thousand stitches or half a million. The Objects list lays out only the rows in view. An object whose stitches hit an internal error is left out with a warning in Issues rather than taking the plan down. For development:
TL_PROFILE=1prints each frame's sections to stderr,TL_NO_GPU=1draws the stitches with the painter instead, andcargo test --release --features gui --bin zigzag-studio perf_bench -- --ignored --nocapture --test-threads=1times typing and dragging on a traced logo (examples/bench-grid.svgis a 213,000-stitch design for the studio itself). -
Follows the system's light or dark appearance (
ZIGZAG_THEME=light|darkoverrides) and uses the San Francisco system font on a Mac. -
Pick a stitch type per object: big buttons, the task bar, right-click, or F/S/R/C/X (Blanket and Manual from the Stitch panel). The preview re-plans live.
-
Layout, the Illustrator way: drag to move (Shift: 45° steps; Option: drag a copy). Handles resize freely (Shift keeps proportions, Option resizes from the center, drag past the far side to flip); just outside a corner rotates (Shift: 45°). Smart guides snap edges and centers to other objects and the hoop (View › Smart Guides, ⌘U). ⌘D is Transform Again: Option-drag a copy, then ⌘D for more at the same spacing. Hold Space to pan with any tool (a tap plays the stitch-out). The Transform panel has Illustrator's reference point: X/Y show the chosen point and W/H resize around it. Also rotate, flip, center in hoop, fit to hoop (artwork bigger than the hoop is scaled down to fit when you open or place it; Undo restores full size), ⌘C/⌘V, arrows nudge 0.5 mm (Shift 5 mm). Edits are saved as SVG transforms.
-
Groups work like Illustrator: a click or drag takes the whole group; double-click goes into it (the rest dims and a breadcrumb shows where you are), double-click again to go deeper; Esc or double-click on empty canvas comes back out. ⌘-click picks one object without going in. Layers (Illustrator's "Layer 1", Inkscape layers, Figma frames) aren't groups. Copy, paste and duplicate keep groups.
-
Type (T), as in VectorCraft and Illustrator: click where the text should go and type straight onto the canvas (Enter for a new line, Esc or a click elsewhere when done); click text, or between its letters, to edit it with the caret where you clicked (or double-click it with the Selection tool, which picks text anywhere in its box and shows it as a box, not its letters' points; delete every letter and finish, and the text is removed) (←/→, ↑/↓, Home/End and ⌘←/→ move it; Backspace and Delete remove either side; Shift with any of those, a drag, a double-click for a word, a triple-click or ⌘A for the lot selects text, which typing replaces and ⌘C/⌘X/⌘V copy, cut and paste); click a selected path to put text on it. The Lettering panel is a compact Character panel (hat text isn't long copy): font (with search), bold/italic, letter height, tracking, pair kerning (pick the pair, or Option+←/→ while typing kerns the pair at the caret), horizontal and vertical scale, case (as typed, UPPER, lower, Title), alignment and leading for two-line text, baseline (straight, arc over, arc under, or on a path with offset and flip), and the stitch type. The Type menu has Type on a Path, Change Case, Align and Create Outlines (⇧⌘O). Text is a shape like any other: Direct Selection, Round Corners, Simplify, Pathfinder and Clean Up all work on it (it quietly becomes plain paths at the first point-level edit, one undo step), and it saves as real SVG text until then.
-
Pen (P): draw filled shapes or lines with corners and curves, or place manual stitches one by one. Snaps to the grid when it's showing, else to smart guides.
-
Shapes (M, L, \): rectangles (with rounded corners), ellipses, polygons, stars and lines.
-
Measure, mm grid, needle points, First/Last, Group colors.
-
Open machine files (PES, PEC, DST, EXP, JEF) to view, resize and re-expor
ZigZag MCPのよくある質問
AIエージェントは刺繍デザインの作成をサポートしてくれますか?
はい、ZigZag は MCP を標準サポートしているため、AIエージェントがユーザーと共にデザインの作成や編集を行うことができます。
ZigZag がサポートしている刺繍ファイル形式は何ですか?
ZigZag は PES、DST、EXP、JEF、または VP3 形式でデザインをエクスポートできます。
ZigZag の使用には Rust のインストールが必要ですか?
いいえ、Mac と Windows 両方のダウンロード版において、Rust のインストールは不要です。