Skip to main content
Glama

Get a free quote for a letter

quote_letter

Prices a physical letter (printed, enveloped and posted by Courio) and returns a quote_id. Free and commits to nothing: no account, no payment, nothing is mailed. Give the service level, sender and recipient postal addresses, and the document (pdf_base64, pdf_url, or plain/markdown text). The price is in EUR including VAT (set currency to "USD" to also see a USD price), fixed for 24 hours. The document is checked and content-moderated; a problem comes back as an error with a hint. Quotes are capped per day (limit_exceeded with retry_after): reuse a quote_id rather than re-quoting. Service levels: "standard" (ordinary mail, no proof), "tracked" (tracking only), "registered" (registered mail: proof of deposit), "registered_ar" (registered with acknowledgement of receipt: proof of delivery, the one to use for legal notices). Rest-of-world letters may be handled manually, with a longer delay (see estimated_delivery_days and fulfillment). Next step: show the price, the legal product and the terms of sale (terms_url) to the human, then call send_letter if they agree.

Input Schema

NameRequiredDescriptionDefault
senderYes
optionsNo
serviceYes
currencyNoEUR
documentYes
recipientYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only mark it non-read-only, non-destructive, non-idempotent and closed-world; the description goes far beyond by disclosing that nothing is mailed or charged, the 24-hour price validity, per-day quote caps with limit_exceeded/retry_after, content moderation surfacing errors with hints, and manual handling for rest-of-world destinations. It also explains the output-derived fields (estimated_delivery_days, fulfillment, terms_url), which no annotation covers.

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 purpose and cost-free framing, then requirements, pricing, failure modes, service levels, and the next step — a logical progression with no filler. It is long, but nearly every clause carries information an agent needs; the service-level list is the densest and most useful part.

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 6-parameter tool with nested addresses, 0% schema documentation and no output schema, the description supplies the missing layer: required inputs, price semantics (EUR incl. VAT, fixed 24h), error behaviors, and the fields returned so the agent can present the quote and proceed to send_letter.

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 0%, so the description must carry parameter meaning; it explains the four service levels with their real-world implications (registered_ar for legal notices), the three document alternatives and their text formats, and the currency switch to USD. The optional 'options' object (color, duplex) is never mentioned, leaving that one gap.

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?

Opens with a specific verb and resource: 'Prices a physical letter (printed, enveloped and posted by Courio) and returns a quote_id.' The pricing-versus-mailing distinction against the sibling send_letter is made explicit in the final sentence.

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?

Explicitly states when to call it ('Free and commits to nothing: no account, no payment, nothing is mailed'), the workflow position ('Next step: show the price... then call send_letter if they agree'), and the anti-pattern ('reuse a quote_id rather than re-quoting' to avoid the daily cap).

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.

Resources