Skip to main content
Glama
GreerBK

Ink/Stitch MCP Bridge

by GreerBK

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
INKSTITCH_MCP_REPONoOverride the path to the Ink/Stitch submodule.
INKSTITCH_MCP_ROOTNoOverride the root directory of the InkStitchMCP repository.
INKSTITCH_MCP_TRACENoSet to '1' to enable stderr tracing of subprocess calls.
INKSTITCH_MCP_OUTPUTNoOverride the output directory for generated files.
INKSTITCH_MCP_PYTHONNoOverride the path to the Python interpreter for Ink/Stitch.
INKSTITCH_MCP_TIMEOUTNoTimeout in seconds for normal operations.
INKSTITCH_MCP_SLOW_TIMEOUTNoTimeout in seconds for slow operations (e.g., exports).

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
health_checkA

Verify the Ink/Stitch toolchain is ready (venv, checkout, fonts, pystitch).

With run_smoke_test=True, also exports a tiny test design to DST end-to-end (takes a few seconds).

list_formatsA

List machine-embroidery file formats Ink/Stitch can read and write (dst, pes, jef, exp, vp3, ...).

list_fontsA

List embroidery lettering fonts available to generate_lettering (name, scale limits, description).

list_known_paramsA

List every legal Ink/Stitch per-element parameter name usable with set_element_params.

list_elementsB

Inventory embroiderable elements in an SVG: ids, labels, inferred stitch type (fill/stroke/satin), and existing Ink/Stitch params.

get_element_paramsC

Read Ink/Stitch parameters from SVG elements (all parameterized elements, or only the given ids).

set_element_paramsA

Set or remove Ink/Stitch stitch parameters on SVG elements.

updates maps element id -> {param_name: value}; value null removes the param. Param names must come from list_known_params (e.g. angle, row_spacing_mm, running_stitch_length_mm, satin_column, fill_underlay). Booleans are written as true/false; *_mm values are millimeters. Overwrites the input SVG unless output_svg_path is given.

export_embroideryA

Compile an SVG design into a machine embroidery file (format from the output extension: .dst, .pes, .jef, .exp, .vp3, ...). Returns stitch statistics.

Defaults to /.dst when output_path is omitted.

import_embroideryA

Convert a machine embroidery file (dst/pes/jef/exp/vp3/hus/...) into an SVG of its stitch plan, editable in Inkscape.

export_zipA

Export an SVG design to several formats at once as a ZIP (e.g. ["dst","pes","svg","threadlist"]). x/y_repeats panelize copies with the given spacing (mm).

design_statsB

Stitch statistics for a machine embroidery file: stitch/jump/trim counts, color changes, threads, size in mm.

convert_machine_formatB

Convert one machine embroidery file to another format directly (e.g. mydesign.dst -> mydesign.pes). Format taken from the output extension.

render_png_previewA

Render a PNG preview of a design's stitches. Accepts a machine file (dst/pes/...) or an SVG (which is compiled first). Returns the image.

thread_listB

Plain-text thread/color report for an SVG design: design size, stitch counts, thread order.

troubleshootB

Validate a design's embroidery elements; returns structured errors/warnings with positions and suggested fixes.

density_mapC

Annotate an SVG with a stitch-density heat map layer (red/yellow/green markers per stitch).

preview_stitch_planC

Add a rendered stitch-plan layer to an SVG (what will actually be sewn). mode: 'simple' or 'realistic-vector'.

cleanup_documentB

Remove tiny/empty objects that would cause thread breaks. dry_run=True (default) only reports what would be removed.

transform_elementsB

Apply an Ink/Stitch conversion to SVG elements and save the result.

operation: stroke_to_satin (center-line pair -> satin column), auto_satin (route satins optimally), auto_run (route strokes into one running stitch), fill_to_stroke (fill -> centerline), jump_to_stroke (connect jumps with strokes, whole document), break_apart (split multi-part fill paths), outline (fill -> outline stroke). ids selects target elements (required for all but jump_to_stroke; get them from list_elements). options overrides operation-specific flags, e.g. {"threshold_mm": 5}.

remove_embroidery_settingsC

Strip Ink/Stitch parameters and/or command symbols from an SVG, returning it to a plain vector design.

generate_letteringA

Create machine-embroidered text using Ink/Stitch's digitized fonts.

font is the font name from list_fonts (e.g. "Amitaclo"). formats defaults to ["dst", "svg"]. scale_percent is clamped to the font's supported range. NOTE: each newline-separated line of text becomes a SEPARATE design (own file set) — that is the batch semantics of the underlying extension. trim: off/line/word/glyph. color_sort: off/all/line/word. text_align: left/center/right/block/letterspacing. Extracted files land in output_dir (default: /lettering_).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GreerBK/InkStitchMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server