Skip to main content
Glama

Send a postcard

send_postcard
DestructiveIdempotent

In this app a call answers with the link to the page where the person checks the postcard and sends it themselves. Call request_send and give the person its link.

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": {
      "draftId": "<draftId>",
      "confirm": "<confirm>"
    },
    "name": "send_postcard"
  }
}

Input Schema

NameRequiredDescriptionDefault
confirmYes
draftIdYes
contentVersionNoThe contentVersion of the mail the person saw, from its preview or the last change to it. If the mail changed since, nothing is sent and the answer says to show it again
sendAnotherCopyNoSet true only after the user explicitly asks for another copy of mail that was already sent or paid for in the last 24 hours. Leave it out otherwise.

Output Schema

NameRequiredDescriptionDefault
isRetryNo
orderIdYes
scheduleNoSent with an arrival date: the date it aims to arrive by and the day it goes to the printer, YYYY-MM-DD. It waits until then.
cancellableNoWith an arrival date: whether it can still be cancelled free, before it goes to the printer
currentStatusYes
statusTimelineYes
trackingSupportNo
lettersRemainingYes
recipientSummaryYes
saveReturnAddressNoteNo
suggestSaveReturnAddressNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2/5.0
Behavior2/5

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

Annotations declare destructiveHint=true, openWorldHint=true and idempotentHint=true, so the description should confirm that a real send/charge occurs and is irreversible; instead it says the person 'sends it themselves,' implying no side effect. It also omits any mention of the contentVersion guard-rail behavior that the schema hints at.

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?

It is short and front-loaded, but the sentences spend their space on a redirect rather than on the tool's purpose, so the brevity is not earned.

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

Completeness2/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 described, but for a destructive, externally-visible, paid action the description omits cost, irreversibility, the required confirm parameter, and when this tool is invoked at all versus request_send or quote_and_preview_postcard.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%, leaving draftId and the required confirm flag undocumented, and the description supplies nothing about any of the four parameters. The two documented params (contentVersion, sendAnotherCopy) are explained only in the schema, not here.

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

Purpose2/5

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

The description never states what this tool itself does; it explains the app's flow and then redirects the agent to call request_send. A reader cannot tell from this text whether send_postcard sends a postcard, prepares one, or is a decoy for a sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

It gives a directive ('Call request_send and give the person its link') but that instruction contradicts the tool's own name and offers no criteria for when send_postcard itself should be used, nor any prerequisites, cost, or confirmation 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.

Resources