Skip to main content
Glama

DirectMailAmerica — Full

Get Letter Quote

get_letter_quote
Read-onlyIdempotent

Read a saved standard-mail quote, its exact PDF and send outcome. No charge or submission. Use after interruption; completed quotes cannot be sent again. Quote access is bound to the account, endpoint and environment. Guest IDs are private bearer capabilities.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "quoteId": "<quoteId>"
    },
    "name": "get_letter_quote"
  }
}

Input Schema

NameRequiredDescriptionDefault
quoteIdYes
environmentNoFull-profile guest quote environment only.

Output Schema

NameRequiredDescriptionDefault
uriNo
errorNo
quoteNo
filenameNo
mimeTypeNo
operationYes
sizeBytesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/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 layers on genuinely non-structured facts: no charge or submission occurs, completed quotes are terminal for sending, access is scoped to account/endpoint/environment, and guest IDs act as private bearer capabilities. These are security and lifecycle constraints an agent could not infer from the schema or annotations.

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?

Five short, front-loaded sentences with no filler; the safety statement ('No charge or submission') comes first. A few fragments ('No charge or submission.', 'Guest IDs are private bearer capabilities.') are telegraphic enough to require a second read.

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 two-parameter read tool with an output schema and full annotation coverage, the description supplies the lifecycle and access-scoping context that the structured fields cannot. Minor gap: no guidance on what happens if the quote ID is unknown or belongs to another environment.

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?

With 50% schema coverage (quoteId undocumented), the description compensates by framing the ID as a private bearer capability and by tying access to environment, which explains why the environment parameter exists. It still does not state the ID's format or how it is obtained, leaving a small 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?

States a specific verb and resource ('Read a saved standard-mail quote') plus what the read returns ('its exact PDF and send outcome'), which separates it from creation-oriented siblings like quote_letter and preview_letter. 'Standard-mail' vs the email-letter family is also disambiguated.

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?

Gives a concrete trigger ('Use after interruption') and an important exclusion ('completed quotes cannot be sent again'), so the agent knows when retrieval is meaningful versus useless. It does not name the sibling to use when a quote does not exist yet (quote_letter), so it stops short of full alternative routing.

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