Zovo Envelope Printer
Server Details
Print envelopes with addresses at home.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools split cleanly along a lookup/generation boundary, and each description explicitly disclaims the other's job (find_envelope_size says it does not print; generate_envelope_pdf says it makes the PDF). An agent can pick the right tool from a user request without guesswork.
Both names follow the same verb_noun pattern (find_envelope_size, generate_envelope_pdf) in snake_case, and the noun phrases are resource-specific enough to be self-explanatory.
Two tools is thin in absolute terms but fits this narrow envelope domain: one answers sizing questions, the other produces output. Nothing extraneous is included, though a third operation (e.g. listing supported envelope types) could have earned a place.
The surface covers the core lifecycle of the stated purpose: determine the right envelope, then generate a print-ready PDF with return and delivery addresses plus a CSV. Explicitly out-of-scope items (postage, address verification, label sheets) are fine, but there is no way to preview or regenerate/edit a single envelope from an existing job.
Available Tools
2 toolsfind_envelope_sizeFind envelope sizeARead-onlyIdempotentInspect
Use this when the user asks what size envelope to use or how big an envelope is ("what size envelope for a 5x7 card", "#10 envelope size", "a7 envelope size", "envelope for a letter folded in thirds", "dl envelope size in inches"). Give a card, photo or folded sheet size and it lists the envelopes it fits with at least 1/8 in to spare, smallest first; give an envelope name and it returns its size in inches and mm, what it is used for and its USPS mail shape (letter, nonmachinable or large envelope). Does not print anything (use generate_envelope_pdf) and does not give postage prices.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | A card or sheet size, an envelope name, or a use, e.g. "5x7 card", "letter folded in thirds", "A4 folded in half", "#10", "A7" or "wedding invitation". | |
| width | No | Width of the card or insert, e.g. 5 or "127 mm". | |
| height | No | Height of the card or insert, e.g. 7. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| query | Yes | |
| insert | Yes | |
| matches | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a read-only, idempotent, closed-world lookup, and the description adds substantive behavior beyond that: fitting results are constrained to envelopes with at least 1/8 in clearance and ordered smallest first, and envelope lookups return inches, mm, intended use, and USPS mail shape. Those details materially shape how an agent interprets and relays results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the routing trigger, then the two behaviors, then the boundaries — a sensible order with no filler. The long parenthetical of quoted example queries is dense but each phrase earns its place as a matching cue for an agent parsing user phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter lookup with an output schema and full annotations, the description covers what an agent needs: when to call it, what each input mode yields, result ordering and fit tolerance, and the two things it will not do. Nothing required for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema alone carries the mechanics; the description still adds semantic framing by contrasting the two modes (give a card/photo/folded sheet size vs. give an envelope name) and mapping them onto the free-text query versus the width/height pair. It stops short of stating precedence when both query and width/height are supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (find envelope size) and immediately grounds it in the user phrasings it answers ("#10 envelope size", "a7 envelope size"). It also pins down the two input modes — size given → matching envelopes, envelope name given → its dimensions — which no sibling shares.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with an explicit when-to-use trigger ("Use this when the user asks what size envelope to use or how big an envelope is") and names the alternative for the adjacent case: "Does not print anything (use generate_envelope_pdf)". It also excludes a plausible but out-of-scope adjacent request (postage prices).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_envelope_pdfPrint addresses on envelopesARead-onlyIdempotentInspect
Use this when the user wants to print addresses on envelopes ("print envelopes with addresses", "print envelopes from excel", "#10 envelope template", "a7 envelope template", "address wedding invitation envelopes", "print address on envelope"). First convert any pasted text or image of addresses into recipients objects (name, address1, address2, city, state, zip, country). Makes a PDF with one page per envelope at the real envelope size (#10 default, #9, #6 3/4, Monarch, A2, A6, A7, A9, 6x9, 9x12, 10x13, DL, C6, C5, C4 or custom), the return address in the top-left corner and the delivery address inside the USPS read area, in the destination country's line order. Each address gets an envelope; problems (missing ZIP, unknown state, wrapped lines) are listed. Also a CSV. Does not buy postage, print stamps or barcodes, verify addresses, or print label sheets.
| Name | Required | Description | Default |
|---|---|---|---|
| feed | No | With paper letter or a4: where the envelope sits in the tray, center (default), left or right. | |
| file | No | Optional uploaded address list: CSV, TSV or Excel .xlsx with a header row (Name, Address, City, State, ZIP, Country), e.g. wedding guests.xlsx. Google Contacts, Outlook, Etsy and Shopify exports work. | |
| sort | No | Order of the envelopes: none (list order, default), zip, name or country. | |
| paper | No | envelope (default: each PDF page is the envelope size) or letter / a4 (the envelope is drawn turned on a full sheet, for printers that cannot take a custom size). | |
| sheet | No | Excel sheet to read, e.g. Guests. Default: the first sheet with data. | |
| width | No | Custom envelope width with height, e.g. 9.5 or "229 mm". Numbers are inches unless above 30 (then mm). | |
| height | No | Custom envelope height with width, e.g. 4.125 or "162 mm". | |
| columns | No | Column mapping when headings are unusual, field to heading, e.g. {"name":"Guest","address1":"Mailing Street","zip":"Postcode"}. | |
| outline | No | Draw the envelope edge on every page (for checking on plain paper). Default false. | |
| addresses | No | Same as recipients (either name works). | |
| bold_name | No | Print the recipient's name in bold, e.g. true. Default false. | |
| font_size | No | Address text size in points, 8 to 24, e.g. 12. Default 12 (11 on narrow envelopes). Long lines shrink to fit and wrap; nothing is cut off. | |
| test_page | No | Add a first page with the envelope outline and sample text, to print on plain paper and hold against an envelope. Default true. | |
| uppercase | No | USPS style: all capitals without periods or commas, e.g. true. Default false. | |
| recipients | No | The addresses, one envelope each. Convert what the user pasted or showed in an image into objects first, e.g. [{"name":"Jane Smith","address1":"123 Main St","address2":"Apt 4B","city":"Springfield","state":"IL","zip":"62704"}, {"name":"Hans Müller","address1":"Hauptstr. 5","zip":"10115","city":"Berlin","country":"Germany"}]. Text also works: one string per address with lines separated by \n, or the whole pasted list as one string with a blank line between addresses, or pasted CSV with a header row. | |
| home_country | No | Country you mail from; the country line is printed only for other countries, e.g. "UK". Default: the return address's country, else United States. | |
| envelope_size | No | Envelope size: 10, 9, 6-3/4, monarch, a2, a6, a7, a9, 6x9, 9x12, 10x13, dl, c6, c5, c4 or a custom size like "5.5 x 8.5 in" or "114 x 229 mm". Synonyms work: "business" = 10, "5x7" or "invitation" = a7, "rsvp" = a2. Default 10. | |
| return_address | No | Sender address for the top-left corner, as text with \n or commas between lines, a list of lines, or an object, e.g. "The Garcia Family\n42 Oak Lane\nPortland, OR 97205". Leave out for no return address. | |
| include_home_country | No | Also print the country line for addresses in your own country when a country is given. Default false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| feed | Yes | |
| notes | Yes | |
| paper | Yes | |
| issues | Yes | |
| assumed | Yes | |
| preview | Yes | |
| envelope | Yes | |
| countries | Yes | |
| downloads | Yes | |
| envelopes | Yes | |
| file_name | Yes | |
| pdf_pages | Yes | |
| test_page | Yes | |
| usps_note | Yes | |
| duplicates | Yes | |
| font_size_pt | Yes | |
| home_country | Yes | |
| issues_count | Yes | |
| preview_count | No | |
| return_address | Yes | |
| printed_as_given | Yes | |
| smallest_font_pt | Yes | |
| print_instructions | Yes | |
| links_expire_minutes | Yes | |
| envelopes_with_issues | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, it discloses layout behavior (return address top-left, delivery address in the USPS read area, destination-country line order), per-address page generation, that problems like missing ZIP or wrapped lines are reported back, and that a CSV is also produced. The explicit negative capabilities further bound the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense paragraph, but the trigger condition and exclusions are front- and back-loaded correctly and every clause carries informational weight. The long parenthetical list of utterance examples is somewhat bulky.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 19-parameter tool with nested objects, an output schema, and existing annotations, the description covers purpose, input preparation, sizing defaults, layout, error reporting, and scope exclusions. Nothing required to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: the default #10 size and the full size vocabulary including custom sizes, and the instruction to first convert pasted text or images into recipients objects before calling. It does not walk through the many formatting flags, but the schema already documents those thoroughly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('print addresses on envelopes') plus concrete trigger phrasings, and states precisely what is produced ('Makes a PDF with one page per envelope at the real envelope size'). It never references the sibling find_envelope_size, so the boundary with that tool is left implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit when-to-use trigger ('Use this when the user wants to print addresses on envelopes') with six example utterances, plus a clear when-not list: no postage purchase, no stamps or barcodes, no address verification, no label sheets. An agent can decide to call or skip without inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
find_envelope_size - First observed
generate_envelope_pdf
Related MCP Connectors
Print address labels from a list or a spreadsheet without opening Word.
Print and mail real letters through USPS. Write, preview the exact printed proof, then pay or send.
Print a Royal Mail QR code (Vinted, eBay, ASOS returns) as a 6x4 shipping label at home.
Print and mail US letters by USPS First-Class, with tracking.
Related MCP Servers
- AlicenseAqualityCmaintenanceLocal MCP server that generates print-ready PDF letters with DIN 5008 compliant address positioning for window envelopes, handling structured content offline without external APIs.752 npm2MIT
- AlicenseNot gradedqualityBmaintenanceEnables agents to create and pay for physical postcards and letters, returning print previews and Stripe checkout links, with human review before USPS First-Class mailing to US addresses.MIT
- AlicenseNot gradedqualityCmaintenanceEnables an assistant to locate a 4x6 shipping label within a PDF, crop to it losslessly without resampling, verify its true size, preview it, list print queues, and send it to a thermal printer at exactly 100%. All printing stays a dry run unless explicitly confirmed live, and the server refuses to crop or scale when the region doesn't measure up to 4x6.1MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to prepare, price, review, pay for, and send real physical letters and postcards via a hosted MCP server.-
Glama MCP Gateway
Add one secure layer between your agents and this server.