For agents & developers
Send a physical letter via API or MCP
Updated July 13, 2026
Short answer
Postbot turns one JSON call into a real paper letter delivered in the Czech Republic by Česká pošta. Connect your agent to the hosted MCP server at https://postbot.cz/mcp or POST to the REST API — PDF, markdown, or plain text in; printed, enveloped, and mailed out. From50 CZK (≈ €2), and the first letter needs no account.
Connect your agent (MCP)
Postbot is a remote MCP server over Streamable HTTP. initialize andtools/list work without a token, so any MCP client can discover the tools before deciding to authenticate.
Claude Code
claude mcp add --transport http postbot https://postbot.cz/mcpClaude Desktop
Settings → Connectors → Add custom connector
URL: https://postbot.cz/mcpCursor
Settings → MCP → Add new MCP server
URL: https://postbot.cz/mcp (Streamable HTTP)ChatGPT
Settings → Connectors → Advanced → Developer mode
Add connector: https://postbot.cz/mcp
# needs a plan with developer mode; may be admin-gated in workspacesThe tools
| Tool | What it does | Auth |
|---|---|---|
send_letter_cz | PDF / markdown / plain text + Czech address → printed, mailed letter. Ordinary or registered (with tracking). | pay link per letter, or OAuth / API key with credit |
get_letter_status | Track a sent letter by its Česká pošta order code. | none |
How payment works — no spending without your setup
A valid unauthenticated send doesn't fail dead: it returns402 with rails — a ready Stripe pay link for that exact letter. The agent hands the link to its human; once paid, the letter mails automatically. For repeat sends, top up prepaid CZK credit with an API key or authorize an interactive MCP client via OAuth 2.1.
you: send a registered letter to Jan Novák, Dlouhá 5, Praha
agent → send_letter_cz({...})
postbot → 402: rails.oneoff.payUrl (110 CZK)
agent: “Letter's ready — pay here: …”
you: [click, pay by card]
postbot → ✉ dispatched · tracking RR1234567CZ- Without your click or prepaid credit, the agent can't spend a single koruna. (With prepaid credit, sends debit the balance autonomously — that's what the top-up authorizes.)
- Every letter has a firm price computed up front from the rendered PDF.
- Everything sent is visible on your account — including the tracking number.
REST API — no MCP client needed
Quote and pay for a single letter without an account:
curl -X POST https://postbot.cz/api/oneoff \
-H "content-type: application/json" \
-d '{
"to": {
"name": "Jan Novák",
"street": "Dlouhá",
"houseNumber": "5",
"zip": "110 00",
"city": "Praha"
},
"document": { "markdown": "# Notice\n\nDear Mr. Novák, ..." },
"service": "obycejne"
}'
# → { "payUrl": "https://checkout.stripe.com/...", ... }
# Open payUrl, pay by card — the letter mails automatically.Preview first — the exact PDF and a firm price, no side effects:
curl -X POST https://postbot.cz/api/preview \
-H "content-type: application/json" \
-d '{
"to": {
"name": "Jan Novák",
"street": "Dlouhá",
"houseNumber": "5",
"zip": "110 00",
"city": "Praha"
},
"document": { "text": "Dear Mr. Novák, ..." },
"service": "obycejne"
}'
# → { "pdfBase64": "...", "sheets": 1, "payCzk": 50 }
# The exact PDF that will be printed + a firm price. No side effects.Funded sends: POST /api/send with Authorization: Bearer pb_…(prepaid credit). Registered letters ("service": "doporucene") require afrom sender address.
Pricing
| Service | Price | Notes |
|---|---|---|
| Ordinary letter | from 50 CZK (≈ €2) | up to 50 g, one-off card payment |
| Registered (doporučené) | from 110 CZK (≈ €4.50) | Česká pošta tracking number (RR…CZ) |
The firm price is computed from the rendered PDF (sheet count) before any payment — what the preview shows is what you pay.
Coverage and formats
- Delivery: Czech Republic only — the carrier is Česká pošta (DopisOnline). The agent and payer can be anywhere.
- Content:
pdfBase64,markdown, ortext— rendered to A4 with Czech-capable fonts. - Anonymous endpoints accept inline content only;
pdfUrlis rejected there (SSRF protection).
Machine-readable docs
- llms.txt — the whole service in one plain-text page
- mcp.json — MCP server metadata
- openapi.json — REST schema
- auth.md — auth flows for agents
FAQ
Can an AI agent send a real paper letter?
Yes. Postbot is a hosted MCP server (https://postbot.cz/mcp, Streamable HTTP): the agent calls the send_letter_cz tool with an address and the letter as PDF, markdown, or plain text. Postbot prints it, envelopes it, and Česká pošta (the Czech national post) delivers it — ordinary or registered.
Does it deliver outside the Czech Republic?
No — delivery is Czech Republic only. The agent, the sender, and the person paying can be anywhere in the world; payment is by card (Stripe).
How does an agent pay for a letter?
Two rails. One-off: a valid unauthenticated send returns HTTP 402 with rails.oneoff.payUrl — a ready Stripe pay link for that exact letter (from 50 CZK); the agent hands it to its human and the letter mails once paid. Repeat sends: prepaid CZK credit with an API key (or an OAuth token for interactive MCP clients) — each send debits the balance.
Can the agent spend money without approval?
No. Without a human's click on the pay link or explicitly prepaid credit, the agent can't spend anything. Every letter gets a firm price computed up front from the rendered PDF, before any payment.
How do I test without sending anything?
POST /api/preview renders the letter and returns the exact PDF plus the firm price with no side effects — no order, no charge. What you preview is byte-for-byte what gets printed.
Can it send registered letters with tracking?
Yes. Service "doporucene" (registered) returns a Česká pošta tracking number (RR…CZ) you can follow online. Registered letters require a sender address.