Skip to main content
Glama

mailpulse

MailPulse: The fleet's first ACTION origin — does something in the world instead of answering a question. Sends a real physical letter (US First-Class, US Certified with optional electronic return receipt, or international) via USPS through Lob's Print & Mail network: paying causes real postage to print and mail, once payment settles. Free address-deliverability check precedes the paid send; free price quote locks the exact price for 15 minutes; cheap status/tracking poll follows up afterward. Every response reports mode: "test" | "live" — test mode costs nothing and mails nothing physical.

Coverage: US + international mail via USPS/Lob

Endpoints: • verify-address ($0.01): Verify a mailing address (US + international) • letters ($3.00): THE paid action: prints and mails a real physical letter via Lob once payment settles. Price varies by service — standard $3.00, certified $12.00, certified_return_receipt $14.00, international $5.00 — the amount shown here is the representative/minimum price; the actual x402 charge always matches the caller's quote_id-verified order from POST /api/quote (free, no x402 gate). Requires a client_request_id (8-128 chars) for idempotency. • {id} ($0.005): Letter status / USPS tracking poll • health (FREE): Liveness + current mode

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoLob letter id returned by POST /api/letters
toNoRecipient address
fromNoSender-of-record address (never The Aslan Group LLC — we are a paid conduit only)
langNoResponse language code (en | es | fr | de | zh | hi | ar | pt | ja | ko | etc.)
actionYesWhich endpoint to call. Options: verify-address | letters | {id} | health
contentNo{ html } or { file_url } — exactly one
serviceNostandard | certified | certified_return_receipt | international
quote_idNoFrom POST /api/quote
issued_atNoFrom POST /api/quote, copied verbatim
amount_microNoFrom POST /api/quote, copied verbatim
client_request_idNo8-128 chars, unique per letter, enables idempotent retries

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Which endpoint to call. Options: verify-address | letters | letters-status"New value: +"Which endpoint to call. Options: verify-address | letters | {id} | health"
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "verify-address",
      -  "letters",
      -  "letters-status"
      -]New value: +[
      +  "verify-address",
      +  "letters",
      +  "{id}",
      +  "health"
      +]
    • removedInput schema / properties / address
      Removed value: -{
      -  "description": "address_line1 (required), address_line2, address_city, address_state, address_zip, address_country (ISO-2, default US)",
      -  "type": "string"
      -}
    • changedInput schema / properties / id / description
      Previous value: -"Lob letter id returned by POST /api/letters, e.g. ltr_xxxxxxxx (path parameter, not query)"New value: +"Lob letter id returned by POST /api/letters"
  2. Added

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and covers key behaviors: real postage costs money once payment settles, test mode costs nothing and mails nothing physical, free address verification precedes the paid send, price quotes lock for 15 minutes, and client_request_id enables idempotent retries. It does not disclose failure modes or rate limits, but for a paid action tool, the cost/test-mode disclosure is substantial and honest.

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

Conciseness3/5

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

The description is well-structured with sections and endpoint bullets, but it is verbose and somewhat redundant. For example, the mail service types are listed both in the opening sentence and again in the letters endpoint pricing. The pricing detail is useful but could be condensed. It is front-loaded with the core action and test-mode warning, so it earns a mid-range score rather than lower.

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?

Given no output schema, the description reveals the response format at least partially ('Every response reports mode: 'test' | 'live''). It covers the full workflow from address verification to tracking, explains the four endpoints, and clarifies the paid vs. test behavior. It could describe the letter status/tracking response in more detail, but for a multi-endpoint action tool with 11 parameters, it is quite complete.

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?

The input schema already has 100% coverage with descriptions for all 11 parameters. The tool description adds significant value beyond this: it explains the pricing per service, the quote_id flow (quote_id, issued_at, amount_micro must be copied verbatim), the requirement for client_request_id (8-128 chars), and the constraint that content must be exactly one of html or file_url. This context helps the agent assemble correct parameter values, even though the schema already names them.

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?

The description opens with a clear, specific verb+resource: 'Sends a real physical letter' via USPS through Lob. It enumerates distinct endpoints (verify-address, letters, {id}, health) and explicitly contrasts with siblings as 'the fleet's first ACTION origin — does something in the world instead of answering a question.' This strongly distinguishes it from the many query-like pulse tools.

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?

The description provides clear context for when to use the tool: for sending physical mail and related address verification/tracking. It contrasts with question-answering tools and explains the flow (address check, quote, paid send, status poll). It lacks an explicit 'when not to use' or named alternatives beyond the action/differentiator, but the 'instead of answering a question' line plus the endpoint breakdown gives solid guidance.

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.