Print envelopes with addresses at home.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
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 of the card or insert, e.g. 5 or "127 mm".
Height of the card or insert, e.g. 7.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http envelope-printer https://envelope-printer.zovo.one/mcp
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.
| Argument | Type | Description |
|---|---|---|
| query | any | 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 | any | Width of the card or insert, e.g. 5 or "127 mm". |
| height | any | Height of the card or insert, e.g. 7. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"query": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "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": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 20
}
]
},
{
"type": "null"
}
],
"description": "Width of the card or insert, e.g. 5 or \"127 mm\"."
},
"height": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 20
}
]
},
{
"type": "null"
}
],
"description": "Height of the card or insert, e.g. 7."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| feed | any | With paper letter or a4: where the envelope sits in the tray, center (default), left or right. |
| file | object | 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 | any | Order of the envelopes: none (list order, default), zip, name or country. |
| paper | any | 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 |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 8, 2026.
| any |
| Excel sheet to read, e.g. Guests. Default: the first sheet with data. |
| width | any | Custom envelope width with height, e.g. 9.5 or "229 mm". Numbers are inches unless above 30 (then mm). |
| height | any | Custom envelope height with width, e.g. 4.125 or "162 mm". |
| columns | any | Column mapping when headings are unusual, field to heading, e.g. {"name":"Guest","address1":"Mailing Street","zip":"Postcode"}. |
| outline | any | Draw the envelope edge on every page (for checking on plain paper). Default false. |
| addresses | any | Same as recipients (either name works). |
| bold_name | any | Print the recipient's name in bold, e.g. true. Default false. |
| font_size | any | 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 | any | Add a first page with the envelope outline and sample text, to print on plain paper and hold against an envelope. Default true. |
| uppercase | any | USPS style: all capitals without periods or commas, e.g. true. Default false. |
| recipients | any | 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 | any | 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 | any | 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 | any | 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 | any | Also print the country line for addresses in your own country when a country is given. Default false. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"feed": {
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "null"
}
],
"description": "With paper letter or a4: where the envelope sits in the tray, center (default), left or right."
},
"file": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"description": "ChatGPT file id, e.g. file_abc123."
},
"file_name": {
"type": "string",
"description": "Original file name if known, e.g. statement.pdf."
},
"mime_type": {
"type": "string",
"description": "Media type if known, e.g. application/pdf."
},
"download_url": {
"type": "string",
"description": "Temporary download link for the file, supplied by ChatGPT."
}
},
"description": "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": {
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "null"
}
],
"description": "Order of the envelopes: none (list order, default), zip, name or country."
},
"paper": {
"anyOf": [
{
"type": "string",
"maxLength": 30
},
{
"type": "null"
}
],
"description": "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": {
"anyOf": [
{
"type": "string",
"maxLength": 60
},
{
"type": "null"
}
],
"description": "Excel sheet to read, e.g. Guests. Default: the first sheet with data."
},
"width": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 20
}
]
},
{
"type": "null"
}
],
"description": "Custom envelope width with height, e.g. 9.5 or \"229 mm\". Numbers are inches unless above 30 (then mm)."
},
"height": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 20
}
]
},
{
"type": "null"
}
],
"description": "Custom envelope height with width, e.g. 4.125 or \"162 mm\"."
},
"columns": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "Column mapping when headings are unusual, field to heading, e.g. {\"name\":\"Guest\",\"address1\":\"Mailing Street\",\"zip\":\"Postcode\"}."
},
"outline": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 10
}
]
},
{
"type": "null"
}
],
"description": "Draw the envelope edge on every page (for checking on plain paper). Default false."
},
"addresses": {
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"zip": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "ZIP or postal code, e.g. 62704, M5V 2T6 or 10115."
},
"city": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "City or town, e.g. Springfield."
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Recipient name, e.g. Jane Smith or Mr. and Mrs. Garcia."
},
"lines": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 10
},
{
"type": "null"
}
],
"description": "The address as printed lines instead of fields, e.g. [\"Jane Smith\", \"123 Main St\", \"Springfield, IL 62704\"]."
},
"state": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "State, province or region, e.g. IL, Ontario or Bavaria."
},
"company": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Company or organization line, e.g. Acme Corp."
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Country, e.g. Canada or DE. Leave empty for addresses in your own country."
},
"address1": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Street address, e.g. 123 Main St. A whole one-line US address is split automatically."
},
"address2": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Apartment, suite or unit, e.g. Apt 4B."
}
},
"additionalProperties": {}
},
{
"type": "string",
"maxLength": 1200
}
]
},
"maxItems": 5000
},
{
"type": "string",
"maxLength": 200000
}
]
},
{
"type": "null"
}
],
"description": "Same as recipients (either name works)."
},
"bold_name": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 10
}
]
},
{
"type": "null"
}
],
"description": "Print the recipient's name in bold, e.g. true. Default false."
},
"font_size": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 10
}
]
},
{
"type": "null"
}
],
"description": "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": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 10
}
]
},
{
"type": "null"
}
],
"description": "Add a first page with the envelope outline and sample text, to print on plain paper and hold against an envelope. Default true."
},
"uppercase": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 10
}
]
},
{
"type": "null"
}
],
"description": "USPS style: all capitals without periods or commas, e.g. true. Default false."
},
"recipients": {
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"zip": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "ZIP or postal code, e.g. 62704, M5V 2T6 or 10115."
},
"city": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "City or town, e.g. Springfield."
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Recipient name, e.g. Jane Smith or Mr. and Mrs. Garcia."
},
"lines": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 10
},
{
"type": "null"
}
],
"description": "The address as printed lines instead of fields, e.g. [\"Jane Smith\", \"123 Main St\", \"Springfield, IL 62704\"]."
},
"state": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "State, province or region, e.g. IL, Ontario or Bavaria."
},
"company": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Company or organization line, e.g. Acme Corp."
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Country, e.g. Canada or DE. Leave empty for addresses in your own country."
},
"address1": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Street address, e.g. 123 Main St. A whole one-line US address is split automatically."
},
"address2": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Apartment, suite or unit, e.g. Apt 4B."
}
},
"additionalProperties": {}
},
{
"type": "string",
"maxLength": 1200
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 10
}
]
},
"maxItems": 5000
},
{
"type": "object",
"properties": {
"zip": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "ZIP or postal code, e.g. 62704, M5V 2T6 or 10115."
},
"city": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "City or town, e.g. Springfield."
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Recipient name, e.g. Jane Smith or Mr. and Mrs. Garcia."
},
"lines": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 10
},
{
"type": "null"
}
],
"description": "The address as printed lines instead of fields, e.g. [\"Jane Smith\", \"123 Main St\", \"Springfield, IL 62704\"]."
},
"state": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "State, province or region, e.g. IL, Ontario or Bavaria."
},
"company": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Company or organization line, e.g. Acme Corp."
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Country, e.g. Canada or DE. Leave empty for addresses in your own country."
},
"address1": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Street address, e.g. 123 Main St. A whole one-line US address is split automatically."
},
"address2": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Apartment, suite or unit, e.g. Apt 4B."
}
},
"additionalProperties": {}
},
{
"type": "string",
"maxLength": 200000
}
]
},
{
"type": "null"
}
],
"description": "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": {
"anyOf": [
{
"type": "string",
"maxLength": 60
},
{
"type": "null"
}
],
"description": "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": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "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": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 8
},
{
"type": "object",
"properties": {
"zip": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "ZIP or postal code, e.g. 62704, M5V 2T6 or 10115."
},
"city": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "City or town, e.g. Springfield."
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Recipient name, e.g. Jane Smith or Mr. and Mrs. Garcia."
},
"lines": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 10
},
{
"type": "null"
}
],
"description": "The address as printed lines instead of fields, e.g. [\"Jane Smith\", \"123 Main St\", \"Springfield, IL 62704\"]."
},
"state": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "State, province or region, e.g. IL, Ontario or Bavaria."
},
"company": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Company or organization line, e.g. Acme Corp."
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Country, e.g. Canada or DE. Leave empty for addresses in your own country."
},
"address1": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Street address, e.g. 123 Main St. A whole one-line US address is split automatically."
},
"address2": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
],
"description": "Apartment, suite or unit, e.g. Apt 4B."
}
},
"additionalProperties": {}
}
]
},
{
"type": "null"
}
],
"description": "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": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 10
}
]
},
{
"type": "null"
}
],
"description": "Also print the country line for addresses in your own country when a country is given. Default false."
}
}
}