Skip to main content
Glama

Server Details

Print address labels from a list or a spreadsheet without opening Word.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.5/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct stage of the workflow: validating/cleaning the list, looking up template layouts, and generating the PDF. Descriptions explicitly cross-reference each other with "use generate_label_sheet" guidance, eliminating misselection.

Naming Consistency5/5

All three names follow a consistent verb_noun snake_case pattern (check_, find_, generate_) with clear domain nouns. Fully predictable convention.

Tool Count4/5

Three tools is on the lean side but each maps to a distinct, non-trivial step (clean, look up, print) with no filler. Slightly thin only in that there's no explicit template-listing tool, though find_label_template covers discovery.

Completeness4/5

The clean → template → generate lifecycle is covered end to end, including start position, copies, and preview output. Gaps (A4/tape sheets, postage, ZIP+4) are explicitly declared out of scope rather than accidental omissions.

Available Tools

3 tools
check_mailing_listCheck mailing listA
Read-onlyIdempotent
Inspect

Use this when the user wants to check or clean a mailing list or contact list before printing labels ("turn my contact list into mailing labels", "address labels from excel spreadsheet", "clean up my address list"): reads an uploaded CSV/XLSX file or a typed list, shows which columns were used for name, street, city, state and ZIP, formats each address the USPS way, and reports missing streets, cities, states, ZIP codes, unknown state codes and duplicates, with a cleaned CSV download. Does not verify that an address exists, does not look up ZIP+4, and does not print the labels (use generate_label_sheet).

NameRequiredDescriptionDefault
fileNoOptional uploaded mailing list: a CSV, TSV or Excel .xlsx file with one row per label, e.g. contacts.csv or Christmas list.xlsx. Name, address, city, state and ZIP columns are detected from the headings (Google Contacts, Outlook, Etsy and Shopify exports work).
kindNoWhat the labels are for: address (mailing labels, default), return_address, shipping, name_badge, place_card, file_folder or general text. Sets the default sheet and text style.
sortNoOrder of the labels: none (list order, default), zip, name or last_name.
sheetNoExcel sheet name to read, e.g. Guests. Default: the first sheet with data.
labelsNoThe typed or pasted list, one item per label. Either address objects, e.g. [{"name":"Jane Smith","address1":"123 Main St","address2":"Apt 4B","city":"Springfield","state":"IL","zip":"62704"}], or plain text labels with lines separated by \n, e.g. ["Jane Smith\n123 Main St\nSpringfield, IL 62704"]. For name badges use {"name":"Ana Lopez","title":"Engineer","company":"Acme"}.
columnsNoOptional column mapping when the headings are unusual: heading text or column letter per field, e.g. {"name":"Guest","address1":"Mailing Street","zip":"F"}.
uppercaseNoUSPS style: all capitals without periods or commas (e.g. SPRINGFIELD IL 62704). Default false.
has_headerNoWhether the file's first row is column headings. Default: detected (headings like Name, Address, ZIP or a first row without numbers).
include_countryNoAlso print USA on US addresses that have a country. Default false (non-US countries always print).
remove_duplicatesNoPrint identical labels only once. Default false (duplicates are counted and reported).

Output Schema

NameRequiredDescription
notesYes
issuesYes
sourceYes
previewYes
recordsYes
ok_countYes
downloadsYes
file_nameYes
duplicatesYes
columns_usedYes
issues_countYes
problem_countsYes

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered; the description goes further by disclosing what is actually performed (column detection, USPS formatting, missing-field and duplicate reporting, cleaned CSV output). The explicit exclusions — no address verification, no ZIP+4 lookup, no label printing — are exactly the kind of boundary an agent needs before promising a user an outcome.

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?

Two sentences: the usage trigger and example utterances come first, then the exclusions. Every clause carries information, though the first sentence is long and dense enough that the list of reported problems and the 'cleaned CSV download' are easy to skim past.

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?

For a 10-parameter, fully optional, nested-input tool with an output schema present, the description covers the input modes, the processing behavior, and the boundaries; return values are correctly left to the output schema. The only thing an agent might still wonder about — limits on list size or what happens on unsupported file types — is minor and partly available in the schema.

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 coverage is 100%, so the per-parameter descriptions already carry the detail and a baseline of 3 would be defensible. The description earns an extra point by explaining the two input modes (uploaded file vs typed list) and the automatic behaviors — heading-based column detection and USPS formatting — that the schema alone does not make obvious.

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?

States a specific verb and resource ('check or clean a mailing list') plus the concrete operations: reads a CSV/XLSX or typed list, detects name/street/city/state/ZIP columns, USPS-formats addresses, and reports missing fields and duplicates. It explicitly distinguishes itself from the sibling generate_label_sheet, so an agent can route correctly without opening either schema.

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

Usage Guidelines5/5

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

Opens with an explicit trigger ('use this when the user wants to check or clean a mailing list before printing labels') and backs it with three quoted user phrasings. It also names the specific alternative for the adjacent task ('does not print the labels (use generate_label_sheet)'), giving both when-to-use and when-not-to-use.

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

find_label_templateFind label sheet sizeA
Read-onlyIdempotent
Inspect

Use this when the user asks which label sheet to use or what the measurements of a sheet are ("avery 5160 size", "avery 5160 label size", "30 labels per sheet template", "1 x 2-5/8 labels", "name badge label size", "which labels for return address"). Searches the supported US Letter label sheets by product number, label size, labels per sheet or use, and returns the layout: label size, columns and rows, top/side margins, pitch and products with the same layout. Does not print labels (use generate_label_sheet) and does not cover A4 sheets or label-maker tape.

NameRequiredDescriptionDefault
kindNoUse: address, return_address, shipping, name_badge, place_card, file_folder or general.
queryNoProduct number, size or use, e.g. 8160, "1 x 2-5/8", "30 per sheet", "name badge" or "return address".
per_sheetNoLabels per sheet, e.g. 30.

Output Schema

NameRequiredDescription
countYes
queryYes
matchesYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/closed-world, so the description's job is to add scope and result shape; it does both by enumerating the returned layout fields (label size, columns/rows, margins, pitch, equivalent products) and the US-Letter-only universe. The only missing element is guidance on behavior when multiple filters conflict or return nothing.

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?

Front-loaded with the use case, then scope exclusions and the sibling reference — no filler sentences. The long run of quoted example queries is useful for matching but is the one portion that could be trimmed.

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

Completeness5/5

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

For a read-only, all-optional-parameter lookup with a full output schema, the description covers trigger, scope boundaries, sibling handoff, and result contents. Nothing an agent needs to call it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100% and each of the three params is already documented with examples, so the baseline is 3. The description's example queries hint that free-text phrasing is acceptable, but it adds little about how kind/query/per_sheet combine or which takes precedence.

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?

States a specific verb and resource ('Searches the supported US Letter label sheets by product number, label size, labels per sheet or use') plus exactly what it returns. It also explicitly separates itself from generate_label_sheet, so an agent can route without opening either schema.

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

Usage Guidelines5/5

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

Gives the triggering user phrasings ('avery 5160 size', 'which labels for return address'), names the alternative tool for the printing case, and states two negative scopes (no A4 sheets, no label-maker tape). When-to-use, when-not, and the alternative are all explicit.

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

generate_label_sheetGenerate label sheet PDFA
Read-onlyIdempotent
Inspect

Use this when the user wants to print address labels, mailing labels, return address labels, shipping labels, name badges or name tags, place cards, or file folder labels from a list or a spreadsheet ("avery 5160 template", "print address labels from excel", "mailing labels from excel", "make return address labels", "print christmas card addresses on labels", "start printing at label 7 on a used sheet"). Builds a vector PDF on US Letter that lines up with the chosen label sheet (5160/8160 30 per sheet, 5161, 5162, 5163, 5164, 5168, 5126, 5167, 5195, 5366, 5395, 5390, 22805, 5302 place cards), with USPS address lines, font shrink-to-fit, a start position for partly used sheets, copies per label, return-address fill mode, an optional alignment test page and outlines. Accepts typed labels or an uploaded CSV/XLSX file. Returns a preview, the PDF and a cleaned CSV. Does not buy postage, print USPS shipping labels with postage, make barcodes, or design nutrition labels.

NameRequiredDescriptionDefault
fileNoOptional uploaded mailing list: a CSV, TSV or Excel .xlsx file with one row per label, e.g. contacts.csv or Christmas list.xlsx. Name, address, city, state and ZIP columns are detected from the headings (Google Contacts, Outlook, Etsy and Shopify exports work).
kindNoWhat the labels are for: address (mailing labels, default), return_address, shipping, name_badge, place_card, file_folder or general text. Sets the default sheet and text style.
sortNoOrder of the labels: none (list order, default), zip, name or last_name.
alignNoText alignment: left (default for addresses) or center (default for badges, place cards and square labels).
sheetNoExcel sheet name to read, e.g. Guests. Default: the first sheet with data.
copiesNoCopies of each label, e.g. 2. Default 1.
labelsNoThe typed or pasted list, one item per label. Either address objects, e.g. [{"name":"Jane Smith","address1":"123 Main St","address2":"Apt 4B","city":"Springfield","state":"IL","zip":"62704"}], or plain text labels with lines separated by \n, e.g. ["Jane Smith\n123 Main St\nSpringfield, IL 62704"]. For name badges use {"name":"Ana Lopez","title":"Engineer","company":"Acme"}.
sheetsNoWith fill_sheet: how many full sheets to fill, e.g. 3. Default 1.
columnsNoOptional column mapping when the headings are unusual: heading text or column letter per field, e.g. {"name":"Guest","address1":"Mailing Street","zip":"F"}.
outlineNoDraw a thin grey outline around each label (for printing on plain paper). Default false.
start_atNoLabel position to start on for a partly used sheet, counted left to right then top to bottom, e.g. 7 skips the first 6 labels. Default 1.
templateNoLabel sheet product number, e.g. 5160 (also 8160, 18160, 5260...), 5163 or 5395. Supported layouts: 5160, 5161, 5162, 5163, 5164, 5168, 5126, 5167, 5195, 5366, 5395, 5390, 22805, 5302. Default by kind: address 5160, return_address 5167, shipping 5163, name_badge 5395, place_card 5302, file_folder 5366.
uppercaseNoUSPS style: all capitals without periods or commas (e.g. SPRINGFIELD IL 62704). Default false.
fill_sheetNoRepeat a single label (a return address) to fill the whole sheet. Default true for kind return_address with one label.
has_headerNoWhether the file's first row is column headings. Default: detected (headings like Name, Address, ZIP or a first row without numbers).
max_font_sizeNoLargest font size in points; long lines shrink below it to fit, e.g. 12. Default depends on the sheet (11 for 5160).
alignment_testNoAdd a test page first with each label outlined and numbered, to print on plain paper and hold against a label sheet. With no list, the PDF is only the test page. Default false.
bold_first_lineNoPrint the first line (the name) in bold. Default false for addresses; badges and place cards print the name in bold.
include_countryNoAlso print USA on US addresses that have a country. Default false (non-US countries always print).
remove_duplicatesNoPrint identical labels only once. Default false (duplicates are counted and reported).

Output Schema

NameRequiredDescription
fontYes
kindYes
notesYes
copiesYes
issuesYes
sourceYes
outlineYes
previewYes
recordsYes
start_atYes
templateYes
downloadsYes
file_nameYes
pdf_pagesYes
duplicatesYes
fill_sheetYes
columns_usedYes
issues_countYes
label_sheetsYes
labels_totalYes
alignment_test_pageYes

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description still adds substantial behavior: output is a paginated vector PDF aligned to the label stock, with USPS address lines, shrink-to-fit fonts, start position for partly used sheets, optional alignment test page and outlines. It also discloses what is returned (preview, PDF, cleaned CSV), which is the key non-obvious trait.

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?

Front-loaded with the use case, then capabilities, then exclusions — a sensible order. It is long and the enumerated label-stock list and feature run-on are dense, but nearly every clause maps to an actual parameter, so little is wasted.

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

Completeness5/5

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

For a 20-parameter tool with nested objects, this description covers input sources, output artifacts, layout alignment, and out-of-scope capabilities; the output schema handles return details and annotations cover safety. Nothing an agent needs in order to call it correctly is missing.

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 coverage is 100%, so the baseline is 3, but the description adds real semantic framing beyond the schema by explaining the coherent modes: typed labels vs uploaded CSV/XLSX, return-address fill mode, copies per label, and the start-position workflow for partially used sheets. It doesn't give per-parameter detail, but the capability grouping helps an agent plan the call.

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?

States a specific verb and artifact: builds a vector PDF label sheet that lines up with a named label layout, on US Letter. The list of supported products (5160/8160, 5161-5168, place cards, etc.) and input modes makes it unmistakably distinct from check_mailing_list and find_label_template.

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

Usage Guidelines4/5

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

Opens with an explicit trigger sentence and a rich set of quoted user phrasings ("print address labels from excel", "start printing at label 7 on a used sheet") that map directly to invocation. Negative scope is stated (no postage, no barcodes, no nutrition labels), but it never routes to the sibling tools find_label_template or check_mailing_list, so alternatives are left implicit.

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.

  1. 3 tool updates
    • First observedcheck_mailing_list
    • First observedfind_label_template
    • First observedgenerate_label_sheet

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables printing labels on Brother P-touch tape printers via MCP, allowing natural language requests to create, preview, and print labels.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables printing text, QR codes, and images directly to NIIMBOT B1 BLE label printers without vendor apps or cloud, with orientation control, fit validation, and local preview tools.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to design, preview, and print labels on a Bluetooth label printer, manage templates and saved labels, check printer status, scan for devices, and query fonts.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables printing PNG labels to a nearby thermal label printer over local serial or Bluetooth, with tools for rendering previews, checking printer status, and printing with confirmation.
    5
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources