Postbot
Server Details
Send real paper letters in the Czech Republic, ordinary or registered, via Česká pošta.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: get_letter_status reads delivery status, while send_letter_cz sends a new letter. There is no overlap or ambiguity between them.
Both names follow a snake_case verb_noun pattern (get_letter_status, send_letter_cz). The _cz suffix on send_letter_cz is a minor regional qualifier not present on the other tool, slightly breaking consistency.
Two tools is borderline thin for a server that handles physical mailings. While send and status are core operations, additional tools for listing or canceling letters could reasonably be expected.
The send-and-track lifecycle is covered, but there is no tool to list previously sent letters or retrieve full letter details beyond status. Agents can work around this by storing order codes, so the gap is minor.
Available Tools
2 toolsget_letter_statusBInspect
Look up the delivery status of a sent letter by its ČP order code.
| Name | Required | Description | Default |
|---|---|---|---|
| orderCode | Yes | ČP order code (kodobjednavky) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does not meet it. It does not say what happens for an unknown order code, whether authentication is needed, or what the status payload looks like, and there is no output schema to fall back on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and resource, with zero filler. Nothing could be trimmed without losing the core meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool the input side is fully covered, but with no annotations and no output schema the description says nothing about the returned status values or error cases. It is minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is already documented as the 'ČP order code (kodobjednavky)'. The description repeats 'ČP order code' without adding format, validation, or sourcing details, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('look up') and resource ('delivery status of a sent letter') plus the identifying key, so the action is unambiguous. It does not name or contrast with the sibling send_letter_cz, but the read-vs-send distinction is legible from the phrasing alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives. 'Sent letter' weakly implies the letter must already exist (e.g. via send_letter_cz), but this is left entirely to inference rather than stated as a condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_letter_czAInspect
Mail a real paper letter in the Czech Republic via Česká pošta. Provide the letter as a PDF (base64 or URL) or as markdown/text (we render it). Choose ordinary (obycejne) or registered (doporucene). Registered requires a from sender address.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| from | No | ||
| note | No | ||
| test | No | ||
| jobRef | No | ||
| service | No | obycejne | |
| document | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden, and it does disclose the important non-obvious trait that this dispatches a real, irreversible physical letter and that markdown/text is rendered server-side. However, it omits the meaning of the `test` flag (a dry-run escape hatch is critical here), cost implications, delivery time, and failure/auth behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded and the format/choice details following. No filler and nothing repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with nested objects, no annotations, and no output schema, the description covers the main happy path but not the remainder. It never says what the call returns or how the resulting letter is referenced later by get_letter_status, which the presence of `jobRef` strongly implies is important.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description has to compensate. It correctly explains the four document input shapes and the service enum, plus the `from` requirement, but leaves `note`, `test`, `jobRef`, and the nested address object semantics entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (mail a real paper letter in the Czech Republic via Česká pošta), including the provider and the physical nature of the action. This cleanly separates it from the sibling get_letter_status, which retrieves state rather than sending.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete conditional guidance ('Registered requires a `from` sender address') and names both service options, but never explains when to pick ordinary vs registered (cost, tracking, delivery guarantees). Usage context is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
get_letter_status - First observed
send_letter_cz
Related MCP Connectors
Print and mail real letters worldwide from the EU, incl. registered mail. Quote, compose, send.
Send real, printed letters by post across Europe. Requires a free account; quote before sending.
Send real paper mail in France from your agent: letters, tracked and registered letters with AR.
1Mail real US letters, postcards and certified mail from an agent, quoted before sending.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables sending physical letters (including registered mail) from PDFs via the Pingen API, with tools to manage drafts, submit, track, and cancel letters.915 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to prepare, price, review, pay for, and send real physical letters and postcards via a hosted MCP server.-
- AlicenseNot gradedqualityBmaintenanceEnables agents to create and pay for physical postcards and letters, returning print previews and Stripe checkout links, with human review before USPS First-Class mailing to US addresses.MIT
- AlicenseNot gradedqualityBmaintenanceHosted remote MCP server that lets AI agents compose, price, send, and track real physical letters worldwide.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.