Skip to main content
Glama
Silhouette Studio MCP Server

Silhouette Studio MCP Server

by WarlemJung

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SILHOUETTE_LOG_LEVELNoLogger verbosity written exclusively to sys.stderr (DEBUG, INFO, WARNING, ERROR, CRITICAL).WARNING
SILHOUETTE_OUTPUT_DIRNoDirectory where .design.json, .design.json.bak, .silhouette.lock, .dxf, .svg, and .png files are saved.~/Documents/SilhouetteMCP
SILHOUETTE_STUDIO_EXENoExplicit path to the Silhouette Studio executable (Silhouette Studio.exe on Windows or /Applications/Silhouette Studio.app on macOS). Auto-detected by default.
SILHOUETTE_DXF_VERSIONNoDXF export version (R2000 or R12).R2000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Prepares vector cut files for Silhouette Studio. All values are in millimetres (mm). Coordinate system: origin at the top-left of the page, X grows right, Y grows down, rotations are in degrees, clockwise. The user's edition (Standard/Basic, free) can open DXF (R2000/R12) but CANNOT open SVG natively, so always export DXF for cutting. SVG and PNG preview can also be exported. Layers supported: 'CUT' (red, blade cut), 'SCORE'/'FOLD' (blue, crease/fold line), 'PERF' (green, perforation), 'ENGRAVE' (cyan), 'REGMARK' (black, Print & Cut marks). Typical workflow:

  1. silhouette_new_design -> create canvas (e.g. preset 'mat-12x12' or 'a4')

  2. silhouette_add_* / silhouette_add_text / silhouette_add_box_template / silhouette_import_svg

  3. silhouette_offset_shape / silhouette_grid_duplicates / silhouette_nest_shapes / silhouette_add_registration_marks

  4. silhouette_describe_design / silhouette_render_preview -> verify bounds, warnings and visual layout

  5. silhouette_export(design, formats="dxf,svg,png") -> generate DXF for cutting

  6. silhouette_open_in_studio -> open directly in Silhouette Studio Silhouette Studio has no public live API: this server generates standard files and opens them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
silhouette_list_page_presetsA

List the built-in page/mat presets (name -> width/height in mm). These are page sizes, not the exact cutting area of the machine; keep a safety margin.

silhouette_new_designA

Create an empty design (the working canvas). Use a preset (see silhouette_list_page_presets) or give custom width_mm AND height_mm (they override the preset). cut_margin_mm is a safety margin used only for warnings. Fails if the design exists unless overwrite=true.

silhouette_list_designsB

List the designs saved in the output folder along with exported files if any.

silhouette_get_designB

Get the full raw JSON data of a design, including all shapes and canvas properties.

silhouette_delete_designA

Delete a design file. If delete_files=true, also removes any exported .dxf, .svg and .png files.

silhouette_clear_shapesB

Remove all shapes from a design without resetting page dimensions.

silhouette_add_rectangleA

Add a rectangle whose top-left corner is at (x_mm, y_mm). corner_radius_mm > 0 rounds the corners (clamped to half of the smaller side). rotation_deg rotates clockwise around the rectangle center. layer defaults to 'CUT' (or 'SCORE', 'PERF').

silhouette_add_circleB

Add a circle centred at (cx_mm, cy_mm). Exported as a true DXF CIRCLE.

silhouette_add_ellipseB

Add an ellipse centred at (cx_mm, cy_mm) with radii rx_mm (horizontal) and ry_mm (vertical), rotated clockwise by rotation_deg.

silhouette_add_polygonA

Add a regular polygon (3-64 sides) inscribed in a circle of radius_mm, centred at (cx_mm, cy_mm). With rotation_deg=0 one vertex points up.

silhouette_add_starA

Add a star with the given number of points (3-64). inner_radius_mm must be smaller than outer_radius_mm (about 40% gives a classic star). With rotation_deg=0 one tip points up.

silhouette_add_lineB

Add a straight line between (x1_mm, y1_mm) and (x2_mm, y2_mm). If dashed=true, creates perforated segments ideal for folding cardstock/papercraft. dash_len_mm: cut segment length (default 3mm); gap_len_mm: un-cut gap length (default 2mm). layer: 'CUT', 'SCORE', 'PERF', etc.

silhouette_add_polylineB

Add a custom path through the given [x, y] points (in mm, Y down). closed=true makes a closed shape (>= 3 points); closed=false makes an open line (>= 2 points).

silhouette_add_textA

Convert text into vector cut/score outlines using a system/custom TTF/OTF font (or built-in geometric vector fallback) and add the glyph contours to the design. x_mm, y_mm mark the top edge anchored horizontally by align ('left', 'center', 'right').

silhouette_transform_shapeA

Move (dx_mm, dy_mm), scale, rotate, and optionally mirror (flip_x, flip_y) an existing shape by its id. Scaling, flipping and rotation are centred at the shape's bbox center.

silhouette_offset_shapeB

Create a new inward (< 0) or outward (> 0) offset contour from an existing circle or closed polygon (ideal for print-and-cut bleed borders, shaker frames and layered mats). join: 'round', 'miter', or 'bevel'.

silhouette_duplicate_shapeB

Duplicate an existing shape count times, offsetting each consecutive copy by (dx_mm, dy_mm).

silhouette_grid_duplicatesB

Arrange copies of an existing shape in a 2D cols x rows matrix (sheet nesting). The original shape occupies cell (0, 0) and (cols * rows - 1) copies fill the remaining cells.

silhouette_nest_shapesB

Optimise 2D rectangular sheet nesting (MaxRects Best Short Side Fit) to pack shapes inside the usable cutting area with zero overlap and guaranteed spacing_mm clearance. Automatically skips and avoids any REGMARK registration marks on the page. Set dry_run=true to compute placement metrics without modifying shape coordinates.

silhouette_add_registration_marksA

Add standard Silhouette Print & Cut 3-corner registration marks (top-left square, top-right L-bracket, bottom-left L-bracket) on layer 'REGMARK'.

silhouette_add_box_templateB

Generate a ready-to-cut parametric packaging / papercraft template with CUT and SCORE layers. Supported templates: 'milk-box-luxo', 'milk-box', 'cube-box', 'pillow-box', 'gift-tag'.

silhouette_import_svgA

Read an SVG file from disk, convert outlines (curves flattened to mm segments) and add them to the design for DXF export. This bridges SVG artwork into Silhouette Studio Standard Edition (which cannot open SVG natively). target_width_mm / target_height_mm > 0 scale artwork (uniformly if only one is given); artwork's top-left corner is placed at (x_mm, y_mm). Text and embedded images are skipped (convert text to outlines or use silhouette_add_text).

silhouette_describe_designA

Summarise a design: page size, every shape with its bounding box, overall bounds and any warnings (outside the page, inside the safety margin, tiny details).

silhouette_remove_shapeB

Remove one shape (by the id shown in silhouette_describe_design).

silhouette_exportA

Export the design to cut/preview files in the output folder. formats is a comma-separated list of 'dxf', 'svg', and/or 'png'. DXF is required for the free Standard Edition. filename (optional) overrides the base file name. Returns file paths, bounds and warnings.

silhouette_render_previewA

Render a colour-coded PNG preview of the design (with 10 mm grid and safety margin) for visual inspection before cutting. Returns the PNG path, pixel dimensions and warnings.

silhouette_make_calibration_fileA

Create and export a calibration DXF: a 100 x 100 mm square with a 50 mm circle, a 40 x 20 mm rounded rectangle, and a 100 mm perforated score line. Open it in Studio and measure it: if the square is not 100 mm (3.937 in), set Studio Preferences > Import Options > DXF to 'As-is'.

silhouette_open_in_studioA

Open a cut file previously exported (.dxf or .svg) directly in Silhouette Studio. Accepts full paths, paths relative to the output folder, or just design/file names. Set reveal_in_explorer=true to also select the file in Windows Explorer.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 28 tools

Disambiguation4/5

Each tool targets a distinct resource or action, with the main overlap being duplicate_shape vs grid_duplicates vs nest_shapes—but descriptions differentiate them (sequential offset, matrix fill, optimized packing). Shape primitives (rectangle, circle, ellipse, polygon, star, line, polyline, text) are cleanly separable, and export/preview/open_in_studio are clearly scoped.

Naming Consistency5/5

All tools use a uniform silhouette_ prefix followed by snake_case verb_noun (add_rectangle, transform_shape, delete_design, export). A few names like make_calibration_file and open_in_studio are still verb-led and readable, with no style mixing.

Tool Count3/5

28 tools is on the heavy side for the stated 16-25 borderline band, though most earn their place as distinct shape primitives and lifecycle operations. The surface is broad but not padded with redundant aliases.

Completeness4/5

Design lifecycle covers create/list/get/delete, shapes cover add/remove/transform/duplicate/offset/nest/clear, plus export, render, calibration, and open-in-Studio. Gaps exist—no canvas resize after creation, no boolean union/subtract, no shape grouping, and no DXF import—but agents can work around most.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues