Skip to main content
Glama
mailbox-mcp

mailbox-mcp

create_test_outbound_mail

Simulate an outbound mail record in sandbox mode to rehearse mailing workflows and estimate costs without uploading or sending a real document.

Instructions

Create a sandbox outbound mail record without uploading a real document. The record is always test_mode=true, cost_cents=0, includes estimated_live_cost_cents and cost_breakdown, and queues a mail.submitted webhook. USPS First-Class Mail has a published $2.00 one-page baseline. Extra pages add configured printing plus any postage increase from weight. If an account's normal first-page formula is lower, cost_breakdown.first_class_baseline_adjustment_cents itemizes the difference separately from carrier postage. Color pages cost $0.70/page total by default before handling and postage: $0.40/page base B&W printing plus a $0.30/page additive color upgrade. In cost_breakdown, color_printing_per_page_cents is the total color-page printing price (70 cents by default), while color_surcharge_per_page_cents is the additive upgrade only (30 cents by default). Account-specific pricing can override these defaults; cost_breakdown is authoritative. FedEx and UPS estimates use the same configured origin and destination zone/region logic as production; fedex_express, fedex_2day and fedex_overnight are $5.00 below their baselines (fedex_express reports service_adjustment_cents: -500), FedEx 2Day applies a fixed $13.00 customer price reduction and reports service_adjustment_cents: -1300, FedEx Overnight adds a fixed $13.00 adjustment and reports service_adjustment_cents: 1300, and fedex_ground carries a fixed $5.00 markup and reports service_adjustment_cents: 500. Use with a sandbox key to rehearse outbound workflows before sending real physical mail.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "create_test_outbound_mail"
  }
}

Input Schema

NameRequiredDescriptionDefault
colorNoColor pages cost $0.70/page total by default before handling and postage: $0.40/page base B&W printing plus a $0.30/page additive color upgrade. In cost_breakdown, color_printing_per_page_cents is the total color-page printing price (70 cents by default), while color_surcharge_per_page_cents is the additive upgrade only (30 cents by default). Account-specific pricing can override these defaults; cost_breakdown is authoritative.
metadataNoArbitrary metadata echoed in responses and webhooks.
mail_classNoMail class to simulate. Postal or carrier service. Use first_class for ordinary lowest-cost USPS letters with no carrier tracking number by default. USPS First-Class Mail has a published $2.00 one-page baseline. Extra pages add configured printing plus any postage increase from weight. If an account's normal first-page formula is lower, cost_breakdown.first_class_baseline_adjustment_cents itemizes the difference separately from carrier postage. Use priority for faster USPS Priority Mail with USPS Tracking, but not Certified Mail proof; priority has a $15.00 published one-page floor. Use certified for USPS tracking plus proof of mailing/delivery; certified has a $20.00 published one-page floor. Use certified_return_receipt when electronic return-receipt evidence is required; certified_return_receipt has a $24.00 published one-page floor. Use fedex_ground or ups_ground for budget private-carrier tracking; fedex_express means FedEx Express Saver/third-business-day, fedex_2day and ups_2day mean second-business-day, and fedex_overnight or ups_next_day mean next-business-day. FedEx express classes use the Standard List document baseline from the configured fulfillment origin unless FedEx One Rate is explicitly configured operationally; fedex_express, fedex_2day and fedex_overnight are then $5.00 below that baseline: fedex_express itemizes service_adjustment_cents: -500, fedex_2day applies a fixed $13.00 customer price reduction (service_adjustment_cents: -1300), and fedex_overnight adds a fixed $13.00 customer price adjustment (service_adjustment_cents: 1300); fedex_ground carries a fixed $5.00 markup over its baseline (service_adjustment_cents: 500). The same printing rates apply to every mail_class. Color pages cost $0.70/page total by default before handling and postage: $0.40/page base B&W printing plus a $0.30/page additive color upgrade. In cost_breakdown, color_printing_per_page_cents is the total color-page printing price (70 cents by default), while color_surcharge_per_page_cents is the additive upgrade only (30 cents by default). Account-specific pricing can override these defaults; cost_breakdown is authoritative.first_class
page_countNoSimulated page count used for pricing.
agent_notesNoOptional facility/operator notes for the simulated mailpiece.
recipient_zipNoRecipient ZIP code. Affects estimated live postage, private-carrier zone, and FedEx local/regional/national area.94105
recipient_cityNoRecipient city.San Francisco
recipient_nameNoRecipient name for the simulated mailpiece. Optional when recipient_company is provided.Test Recipient
recipient_line1NoRecipient street line 1.123 Test Street
recipient_stateNoRecipient 2-letter state code.CA
recipient_companyNoCompany or organization line for the simulated mailpiece. Optional when recipient_name is provided.
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
resultYesCreated sandbox outbound mail job and webhook status.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.0.5
    • 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"
      +}
    • changedInput schema / properties / mail_class / description
      Previous value: -"Mail class to simulate. Postal or carrier service. Do not infer speed, tracking, or proof from carrier marketing names. Use first_class for ordinary lowest-cost USPS letters with no carrier tracking number by default. USPS First-Class Mail has a published $2.00 one-page baseline. Extra pages add configured printing plus any postage increase from weight. If an account's normal first-page formula is lower, cost_breakdown.first_class_baseline_adjustment_cents itemizes the difference separately from carrier postage. Use priority for faster USPS Priority Mail with USPS Tracking, but not Certified Mail proof; priority has a $15.00 published one-page floor. Use certified for USPS tracking plus proof of mailing/delivery; certified has a $20.00 published one-page floor. Use certified_return_receipt when electronic return-receipt evidence is required; certified_return_receipt has a $24.00 published one-page floor. Use fedex_ground or ups_ground for budget private-carrier tracking; fedex_express means FedEx Express Saver/third-business-day, fedex_2day and ups_2day mean second-business-day, and fedex_overnight or ups_next_day mean next-business-day. FedEx express classes use the Standard List document baseline from the configured fulfillment origin unless FedEx One Rate is explicitly configured operationally; fedex_2day then applies a fixed $8.00 customer price reduction (service_adjustment_cents: -800), while fedex_overnight retains its fixed $18.00 customer price adjustment (service_adjustment_cents: 1800). The same printing rates apply to every mail_class. Color pages cost $0.70/page total by default before handling and postage: $0.40/page base B&W printing plus a $0.30/page additive color upgrade. In cost_breakdown, color_printing_per_page_cents is the total color-page printing price (70 cents by default), while color_surcharge_per_page_cents is the additive upgrade only (30 cents by default). Account-specific pricing can override these defaults; cost_breakdown is authoritative."New value: +"Mail class to simulate. Postal or carrier service. Use first_class for ordinary lowest-cost USPS letters with no carrier tracking number by default. USPS First-Class Mail has a published $2.00 one-page baseline. Extra pages add configured printing plus any postage increase from weight. If an account's normal first-page formula is lower, cost_breakdown.first_class_baseline_adjustment_cents itemizes the difference separately from carrier postage. Use priority for faster USPS Priority Mail with USPS Tracking, but not Certified Mail proof; priority has a $15.00 published one-page floor. Use certified for USPS tracking plus proof of mailing/delivery; certified has a $20.00 published one-page floor. Use certified_return_receipt when electronic return-receipt evidence is required; certified_return_receipt has a $24.00 published one-page floor. Use fedex_ground or ups_ground for budget private-carrier tracking; fedex_express means FedEx Express Saver/third-business-day, fedex_2day and ups_2day mean second-business-day, and fedex_overnight or ups_next_day mean next-business-day. FedEx express classes use the Standard List document baseline from the configured fulfillment origin unless FedEx One Rate is explicitly configured operationally; fedex_express, fedex_2day and fedex_overnight are then $5.00 below that baseline: fedex_express itemizes service_adjustment_cents: -500, fedex_2day applies a fixed $13.00 customer price reduction (service_adjustment_cents: -1300), and fedex_overnight adds a fixed $13.00 customer price adjustment (service_adjustment_cents: 1300); fedex_ground carries a fixed $5.00 markup over its baseline (service_adjustment_cents: 500). The same printing rates apply to every mail_class. Color pages cost $0.70/page total by default before handling and postage: $0.40/page base B&W printing plus a $0.30/page additive color upgrade. In cost_breakdown, color_printing_per_page_cents is the total color-page printing price (70 cents by default), while color_surcharge_per_page_cents is the additive upgrade only (30 cents by default). Account-specific pricing can override these defaults; cost_breakdown is authoritative."
    • changedOutput schema / properties / result / properties / message / description
      Previous value: -"Next step instructions for advancing the sandbox record."New value: +"The next step for advancing the sandbox record."
  2. Changed30 schema fields changedv1.0.3
    • changedInput schema / properties / color / description
      Previous value: -"Whether to include color-print surcharge in the live estimate."New value: +"Color pages cost $0.70/page total by default before handling and postage: $0.40/page base B&W printing plus a $0.30/page additive color upgrade. In cost_breakdown, color_printing_per_page_cents is the total color-page printing price (70 cents by default), while color_surcharge_per_page_cents is the additive upgrade only (30 cents by default). Account-specific pricing can override these defaults; cost_breakdown is authoritative."
    • changedInput schema / properties / mail_class / description
      Previous value: -"Mail class to simulate."New value: +"Mail class to simulate. Postal or carrier service. Do not infer speed, tracking, or proof from carrier marketing names. Use first_class for ordinary lowest-cost USPS letters with no carrier tracking number by default. USPS First-Class Mail has a published $2.00 one-page baseline. Extra pages add configured printing plus any postage increase from weight. If an account's normal first-page formula is lower, cost_breakdown.first_class_baseline_adjustment_cents itemizes the difference separately from carrier postage. Use priority for faster USPS Priority Mail with USPS Tracking, but not Certified Mail proof; priority has a $15.00 published one-page floor. Use certified for USPS tracking plus proof of mailing/delivery; certified has a $20.00 published one-page floor. Use certified_return_receipt when electronic return-receipt evidence is required; certified_return_receipt has a $24.00 published one-page floor. Use fedex_ground or ups_ground for budget private-carrier tracking; fedex_express means FedEx Express Saver/third-business-day, fedex_2day and ups_2day mean second-business-day, and fedex_overnight or ups_next_day mean next-business-day. FedEx express classes use the Standard List document baseline from the configured fulfillment origin unless FedEx One Rate is explicitly configured operationally; fedex_2day then applies a fixed $8.00 customer price reduction (service_adjustment_cents: -800), while fedex_overnight retains its fixed $18.00 customer price adjustment (service_adjustment_cents: 1800). The same printing rates apply to every mail_class. Color pages cost $0.70/page total by default before handling and postage: $0.40/page base B&W printing plus a $0.30/page additive color upgrade. In cost_breakdown, color_printing_per_page_cents is the total color-page printing price (70 cents by default), while color_surcharge_per_page_cents is the additive upgrade only (30 cents by default). Account-specific pricing can override these defaults; cost_breakdown is authoritative."
    • addedInput schema / properties / recipient_company
      Added value: +{
      +  "description": "Company or organization line for the simulated mailpiece. Optional when recipient_name is provided.",
      +  "type": "string"
      +}
    • changedInput schema / properties / recipient_name / description
      Previous value: -"Recipient name for the simulated mailpiece."New value: +"Recipient name for the simulated mailpiece. Optional when recipient_company is provided."
    • changedInput schema / properties / recipient_zip / description
      Previous value: -"Recipient ZIP code. Affects estimated live postage."New value: +"Recipient ZIP code. Affects estimated live postage, private-carrier zone, and FedEx local/regional/national area."
    • addedOutput schema / properties / result / properties / outbound_mail / properties / carrier_delivery_failed
      Added value: +{
      +  "description": "True only when status=failed because a mailed/tracked carrier item later failed delivery.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / cost_breakdown
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Authoritative cost components. For color jobs, color_printing_per_page_cents is the total color-page printing price (70 cents by published default), while color_surcharge_per_page_cents is the additive upgrade only (30 cents by published default). For a below-formula First-Class quote, first_class_baseline_adjustment_cents is the amount added to reach the published $2.00 one-page baseline and is separate from postage_cents.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / delivered_at
      Added value: +{
      +  "description": "Timestamp when delivery was confirmed, if available.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / document_preview_url
      Added value: +{
      +  "description": "Authenticated dashboard URL a human can click to visually verify the submitted source document.",
      +  "format": "uri",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / error_message
      Added value: +{
      +  "description": "Failure reason when status is failed and a reason is available.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / failure_source
      Added value: +{
      +  "description": "fedex_tracking when FedEx Track reported the carrier delivery failure; null otherwise.",
      +  "enum": [
      +    "fedex_tracking",
      +    null
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / failure_stage
      Added value: +{
      +  "description": "carrier_delivery for carrier delivery failures; null for submission or fulfillment failures.",
      +  "enum": [
      +    "carrier_delivery",
      +    null
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / human_review
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Human-readable review payload for CLI/chat confirmation: send-to address, return address, mail class, document preview URL, cost, safeguards, and next step.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / mailed_at
      Added value: +{
      +  "description": "Timestamp when the item entered the carrier/mail stream.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / recipient_city
      Added value: +{
      +  "description": "Recipient city.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / recipient_company
      Added value: +{
      +  "description": "Optional recipient company or organization line.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / recipient_country
      Added value: +{
      +  "description": "Recipient country code.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / recipient_line1
      Added value: +{
      +  "description": "Recipient street address line 1.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / recipient_line2
      Added value: +{
      +  "description": "Recipient street address line 2.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / result / properties / outbound_mail / properties / recipient_name / description
      Previous value: -"Recipient name."New value: +"Recipient name, or null when the mail is addressed to a company only."
    • changedOutput schema / properties / result / properties / outbound_mail / properties / recipient_name / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / result / properties / outbound_mail / properties / recipient_state
      Added value: +{
      +  "description": "Recipient state.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / recipient_zip
      Added value: +{
      +  "description": "Recipient ZIP code.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / return_city
      Added value: +{
      +  "description": "Return address city.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / return_company
      Added value: +{
      +  "description": "Optional company or organization line for the return address.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / return_line1
      Added value: +{
      +  "description": "Return address street line 1.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / return_line2
      Added value: +{
      +  "description": "Return address street line 2.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / return_name
      Added value: +{
      +  "description": "Return address name.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / return_state
      Added value: +{
      +  "description": "Return address state.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / outbound_mail / properties / return_zip
      Added value: +{
      +  "description": "Return address ZIP.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  3. First observedv1.0.0

TDQS

B3.4/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false), the description discloses important side effects: the record is always test_mode=true with cost_cents=0, it returns estimated_live_cost_cents and cost_breakdown, and it queues a mail.submitted webhook. That webhook side effect is exactly the kind of behavior the agent cannot get from the annotations. It stops short of describing lifecycle state or what happens if the same payload is submitted twice.

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

Conciseness2/5

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

The first sentence is well front-loaded, but the bulk of the text is a dense, redundant pricing dump (per-page color rates, baseline adjustments, service_adjustment_cents values) that appears verbatim in the schema. An agent must wade through shipping-rate minutiae to find the one operationally important fact, the queued webhook, which is buried mid-paragraph.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the sandbox/webhook behavior is covered. But for a 12-parameter creation tool with a sibling named advance_test_outbound_mail, the description never says what initial state the created record lands in or that it must be advanced/confirmed elsewhere to progress — a meaningful omission.

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%, so the baseline is 3. The long pricing narratives in the description are essentially duplicates of the schema's own color and mail_class descriptions rather than added meaning, so the description neither compensates for nor extends the 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?

The opening sentence gives a specific verb and resource ('Create a sandbox outbound mail record') plus a key scope qualifier ('without uploading a real document'). It implicitly separates this from real sending ('before sending real physical mail'), but never names the sibling that does the real send or the quote-only path, so differentiation is inferred 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.

Usage Guidelines3/5

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

The final sentence supplies usable context ('Use with a sandbox key to rehearse outbound workflows before sending real physical mail'), which is a genuine when-to-use signal. However, it gives no explicit when-not-to-use rules and does not route the agent to alternatives like quote_outbound_mail or send_outbound_mail when a real mailpiece or a pure estimate is wanted.

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