Skip to main content
Glama
printshop-mcp

printshop-mcp

by ildargiv

layout

Packs multiple print items onto shared sheets with automatic rotation, crop marks, margins, and gaps, then outputs printable HTML files per paper group for proofing and printing.

Instructions

Automatically pack many items onto sheets (imposition) and write printable HTML, one file per paper group.

items: [{"name": "badge", "width_mm": 90, "height_mm": 55, "copies": 1, "group": "plain", "html": "<div ...>..." OR "src": "card.pdf" | "photo.jpg", "page": 1, "rotate": true, "fit": "fill"|"contain"}]

  • html: the item's design, filling its box (use position:absolute children, mm units, data-fit). Shared styles go into css. One entry per distinct item (e.g. one per guest), copies for identical ones.

  • src: a PDF page or image (e.g. a business card PDF from another tool), path relative to out's folder.

  • group: items that need different paper (cardstock vs plain) must have different groups; each group becomes its own file to proof and print with its own profile. sheet: A4, A3, A5, Letter, Legal, Tabloid or [width_mm, height_mm]. margin_mm: keep >= printer margin (~4). gap_mm: space between items (0 = shared cut lines). Items rotate automatically when that saves paper. out: .html path (or folder) for the result; must contain any src files. Returns files, sheet counts, paper use.

Input Schema

NameRequiredDescriptionDefault
cssNo
outNo
itemsYes
sheetNoA4
titleNolayout
gap_mmNo
landscapeNo
margin_mmNo
crop_marksNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden well: it discloses the file-writing side effect, one-file-per-group behavior, automatic rotation when it saves paper, gap semantics for shared cut lines, and return values. It does not state whether existing output files are overwritten or what failure modes look like, so it is strong but not complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and the description uses a compact item example to convey nested semantics efficiently. It is dense but mostly earns its length because the schema itself provides no parameter descriptions; structure could be slightly cleaner, but there is little filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by summarizing returns as files, sheet counts, and paper use. It covers enough workflow and parameter context to invoke the tool correctly, though it leaves some optional parameters and overwrite/error behavior unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must supply parameter meaning, and it does so for the critical parameters: items and its subfields, sheet, margin_mm, gap_mm, out, and css. It omits top-level title, landscape, and crop_marks, but those gaps are relatively minor compared with the detailed item guidance it provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it packs items onto sheets for imposition and writes printable HTML, one file per paper group. This clearly distinguishes layout from sibling printer/proofing tools because it generates print-ready files rather than sending or previewing jobs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the paper-group workflow and the note that each group becomes its own file to proof and print with its own profile. However, the description does not explicitly name proof or print_job as alternatives or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.