Skip to main content
Glama

quote_outbound_mail

Read-onlyIdempotent

Price a letter before you have the document. Give the mail class, page count, color and, for FedEx, the recipient ZIP; returns mailbox.bot's published price for a new account with its breakdown, in US dollars. Needs no account and creates nothing. The dry run of the real document is the exact price for an account.

Input Schema

NameRequiredDescriptionDefault
colorNoColor printing. Default black and white.
mail_classYesUSPS: first_class (no carrier tracking; mailbox.bot records photo proof), priority (USPS Tracking), certified (USPS tracking plus proof of mailing and delivery), certified_return_receipt (certified plus electronic return receipt). FedEx: fedex_ground, fedex_express (Express Saver, about 3 business days), fedex_2day, fedex_overnight.
page_countNoPrinted pages. Default 1.
recipient_zipNo5-digit US ZIP of the recipient. FedEx prices depend on it; USPS letter prices don't.
delivery_signatureNoOptional signature on delivery for a single letter (batch mail has none). FedEx classes: indirect (FedEx Indirect Signature Required, $8.00: someone at the address, a neighbor, or the recipient on a signed door tag); direct (FedEx Direct Signature Required, $8.50: someone at the address); adult (FedEx Adult Signature Required, $11.00: an adult 21 or older at the address, with ID). priority: direct (USPS Signature Confirmation, $5.00: someone at the address); adult (USPS Adult Signature Required, $11.00: an adult 21 or older at the address, with ID). certified and certified_return_receipt: restricted (USPS Restricted Delivery, $10.00: only the addressee, or an agent they authorized in writing). first_class has no signature service. Omit it or send none for no signature. The fee is added to the price and itemized as cost_breakdown.delivery_signature_cents.

Output Schema

NameRequiredDescriptionDefault
resultYesPublished price with breakdown, or a price range when the service is priced by destination.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / delivery_signature
      Added value: +{
      +  "description": "Optional signature on delivery for a single letter (batch mail has none). FedEx classes: indirect (FedEx Indirect Signature Required, $8.00: someone at the address, a neighbor, or the recipient on a signed door tag); direct (FedEx Direct Signature Required, $8.50: someone at the address); adult (FedEx Adult Signature Required, $11.00: an adult 21 or older at the address, with ID). priority: direct (USPS Signature Confirmation, $5.00: someone at the address); adult (USPS Adult Signature Required, $11.00: an adult 21 or older at the address, with ID). certified and certified_return_receipt: restricted (USPS Restricted Delivery, $10.00: only the addressee, or an agent they authorized in writing). first_class has no signature service. Omit it or send none for no signature. The fee is added to the price and itemized as cost_breakdown.delivery_signature_cents.",
      +  "enum": [
      +    "none",
      +    "indirect",
      +    "direct",
      +    "adult",
      +    "restricted"
      +  ],
      +  "type": "string"
      +}
  2. Changed3 schema fields changed
    • changedInput schema / properties / mail_class / description
      Previous value: -"USPS: first_class (no carrier tracking; mailbox.bot records photo proof), priority (USPS Tracking), certified (USPS tracking plus proof of mailing and delivery), certified_return_receipt (certified plus electronic return receipt). FedEx: fedex_ground, fedex_express (Express Saver, about 3 business days), fedex_2day, fedex_overnight. UPS: ups_ground, ups_2day (2nd Day Air), ups_next_day (Next Day Air)."New value: +"USPS: first_class (no carrier tracking; mailbox.bot records photo proof), priority (USPS Tracking), certified (USPS tracking plus proof of mailing and delivery), certified_return_receipt (certified plus electronic return receipt). FedEx: fedex_ground, fedex_express (Express Saver, about 3 business days), fedex_2day, fedex_overnight."
    • changedInput schema / properties / mail_class / enum
      Previous value: -[
      -  "first_class",
      -  "priority",
      -  "certified",
      -  "certified_return_receipt",
      -  "fedex_ground",
      -  "fedex_express",
      -  "fedex_2day",
      -  "fedex_overnight",
      -  "ups_ground",
      -  "ups_2day",
      -  "ups_next_day"
      -]New value: +[
      +  "first_class",
      +  "priority",
      +  "certified",
      +  "certified_return_receipt",
      +  "fedex_ground",
      +  "fedex_express",
      +  "fedex_2day",
      +  "fedex_overnight"
      +]
    • changedInput schema / properties / recipient_zip / description
      Previous value: -"5-digit US ZIP of the recipient. FedEx and UPS prices depend on it; USPS letter prices don't."New value: +"5-digit US ZIP of the recipient. FedEx prices depend on it; USPS letter prices don't."
  3. Changed3 schema fields changed
    • changedInput schema / properties / mail_class / description
      Previous value: -"USPS: first_class (no carrier tracking; mailbox.bot records photo proof), priority (USPS Tracking), certified (USPS tracking plus proof of mailing and delivery), certified_return_receipt (certified plus electronic return receipt). FedEx: fedex_ground, fedex_express (Express Saver, about 3 business days), fedex_2day, fedex_overnight."New value: +"USPS: first_class (no carrier tracking; mailbox.bot records photo proof), priority (USPS Tracking), certified (USPS tracking plus proof of mailing and delivery), certified_return_receipt (certified plus electronic return receipt). FedEx: fedex_ground, fedex_express (Express Saver, about 3 business days), fedex_2day, fedex_overnight. UPS: ups_ground, ups_2day (2nd Day Air), ups_next_day (Next Day Air)."
    • changedInput schema / properties / mail_class / enum
      Previous value: -[
      -  "first_class",
      -  "priority",
      -  "certified",
      -  "certified_return_receipt",
      -  "fedex_ground",
      -  "fedex_express",
      -  "fedex_2day",
      -  "fedex_overnight"
      -]New value: +[
      +  "first_class",
      +  "priority",
      +  "certified",
      +  "certified_return_receipt",
      +  "fedex_ground",
      +  "fedex_express",
      +  "fedex_2day",
      +  "fedex_overnight",
      +  "ups_ground",
      +  "ups_2day",
      +  "ups_next_day"
      +]
    • changedInput schema / properties / recipient_zip / description
      Previous value: -"5-digit US ZIP of the recipient. FedEx prices depend on it; USPS letter prices don't."New value: +"5-digit US ZIP of the recipient. FedEx and UPS prices depend on it; USPS letter prices don't."
  4. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, yet the description adds real value: no account required, nothing is created, output is a price plus breakdown in USD, and prices reflect a new account. It does not explain whether prices are cached or subject to change, but the safety profile is fully covered.

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?

Four tight sentences, front-loaded with the core purpose and the zero-side-effect guarantee. The final sentence ('The dry run of the real document is the exact price for an account') is slightly oblique in phrasing, costing a bit of clarity without wasting much space.

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?

With a rich input schema, an output schema, and full annotations, the description only needs to frame intent and side effects, which it does well. The one gap is silence on delivery_signature fees despite the schema itemizing them into cost_breakdown.delivery_signature_cents.

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 coverage is 100% and the enum descriptions are unusually rich, so the schema does the heavy lifting. The description names mail class, page count, color and FedEx ZIP but omits delivery_signature entirely — a fee-bearing parameter an agent could easily overlook if relying on the prose. Baseline 3 is appropriate given the strong schema.

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

Purpose4/5

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

States a specific verb and resource: 'Price a letter before you have the document', and clarifies it returns mailbox.bot's published price with a breakdown in USD. The outbound/single-letter scope separates it from batch and inbound siblings only implicitly via the name, not the description text, so it misses full sibling differentiation.

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?

'Price a letter before you have the document' clearly frames the pre-purchase scenario, and 'Needs no account and creates nothing' plus the note that the real-document dry run gives the exact account price implicitly routes the agent elsewhere once a document exists. The alternative is hinted at rather than named explicitly (no mention of create_outbound_mail or estimate_batch_mail).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.