MCP server for physical mail: send real letters from your AI assistant
FrankKi MCP is a live, remote hosted Model Context Protocol server for physical mail. Connect https://mcp.frankki.app to ChatGPT, Claude, Cursor or VS Code and your assistant drafts, prices, sends, tracks and manages real letters worldwide: local postal tariffs across DACH and Europe, DHL to the rest of the world. Physical mail for AI agents and people.
https://mcp.frankki.appCreate your account and start
The implemented signup flow is public and needs no manual account approval. You receive an email link to set your password, then set up your sender and scoped Bearer API key in the dashboard. Current production signup availability is not independently confirmed, and explicit rollout switches can temporarily disable it.
Free to create, no setup fee. Fund your prepaid wallet through hosted Stripe Checkout; only real send orders debit it.
Evaluate the workflow
Physical-mail implementation and provider guides
Choose one decision axis: registered evidence, approval, sandbox and budgets, destination support, or a provider migration. Every guide links back to the canonical safe-send workflow.
How do I connect the MCP server for physical mail
To connect FrankKi MCP, the MCP server for physical mail, you add the remote server https://mcp.frankki.app to your MCP client and authenticate with a scoped Bearer API key. The server is live and speaks streamable HTTP, so any compliant assistant such as ChatGPT, Claude, Cursor or VS Code can call its 64 model-visible tools to draft, price and send real letters worldwide. The official MCP Registry name is app.frankki/letters.
https://mcp.frankki.appStreamable HTTP transport. Under the hood every request is a POST to /api/mcp/v1.
Connect procedure
- 1When registration is available, create your account at frankki.app/dashboard/registrieren. The source flow needs no manual account approval; you receive an email link to set your password.
- 2Open your MCP client (ChatGPT, Claude, Cursor or VS Code) and add a remote MCP server.
- 3Paste the endpoint https://mcp.frankki.app as the server URL.
- 4Set the Authorization header to your scoped Bearer API key.
- 5Call letter_create_draft to build a letter, then order_send to put it in the post.
OAuth 2.1 with Authorization Code, PKCE (S256) and Dynamic Client Registration (RFC 7591) is live in production at https://mcp.frankki.app, verified 2026-08-13 against https://mcp.frankki.app/.well-known/oauth-authorization-server, alongside scoped Bearer API keys.
Which tools does the server have
FrankKi MCP exposes 64 model-visible tools (39 read-only, 25 action) split into read tools that return state and action tools that change it. Read tools such as shipping_quote, order_status and letter_list never cost money or send mail. Action tools such as letter_create_draft (free) and order_send create drafts, send letters and manage approvals. The split derives from each tool mutating flag.
| Tool | Access | Purpose |
|---|---|---|
| Profile and wallet | ||
profile_get | Read | Reads your partner profile and account data. |
wallet_balance | Read | Shows your current wallet balance and daily cap. |
wallet_topup_link | Read | Returns a Stripe link to top up your wallet. |
sender_profile_list | Read | Lists your saved sender profiles. |
sender_profile_get | Read | Reads a single sender profile in detail. |
sender_profile_validate | Read | Checks a sender profile for mandatory details and format. |
| Clients | ||
mandant_get | Read | Reads a single client by its ID. |
mandant_list | Read | Lists your clients with filters and pagination. |
mandant_search | Read | Searches clients by number, name, tag or case handler. |
| Templates | ||
template_list | Read | Lists your letter templates with category and version. |
template_get | Read | Reads a template including its merge fields. |
template_apply_with_merge_fields | Read | Fills a template placeholders and returns subject and content. |
template_diff_check | Read | Compares a letter against its template and shows the differences. |
template_save | Action | Saves a template as a draft version. |
template_release | Action | Releases a draft version so it becomes sendable. |
template_archive | Action | Archives a template without deleting it. |
template_draft_discard | Action | Discards a draft version that has not been released yet. |
| Letters | ||
letter_get | Read | Reads a single letter with status, content and PDF link. |
letter_list | Read | Lists your letters with filter and paging options. |
letter_search | Read | Full-text searches your letters across subject, recipient and content. |
letter_create_draft | Action | Creates a letter draft. Free, without sending. |
attachment_upload_pdf | Action | Attaches a PDF to a letter draft. |
attachment_upload_image | Action | Attaches an image to a letter draft and scales it to A4. |
shipping_quote | Read | Calculates the price of a letter by destination country and mail type. |
pricing_tiers | Read | Returns the volume tiers: from which monthly quantity which per-letter price applies. |
order_status | Read | Reads the dispatch and delivery status of an order. |
order_einlieferungsbeleg | Read | Returns the proof of posting for a sent order. |
| Addresses and export | ||
address_validate | Read | Validates an address with the mail provider without storing it. |
address_upsert | Action | Creates or updates an address in the address book. |
address_list | Read | Lists the addresses in your partner address book. |
address_search_company | Read | Searches companies and authorities in the directory with their mailing address. |
archive_export | Read | Starts an archive export for accounting, DATEV or DMS. |
archive_export_status | Read | Queries the status of an archive export and returns the download link. |
| Sending and actions | ||
order_send | Action | Sends a letter by post and charges your wallet. |
order_send_batch | Action | Sends several letters in one batch with a single approval. |
order_cancel | Action | Cancels an order as long as it has not been printed yet. |
order_fix_resubmit | Action | Corrects the recipient address of a rejected letter and resubmits it. |
letter_schedule | Action | Schedules the dispatch of a draft for a later time. |
schedule_list_or_cancel | Action | Lists scheduled sends or cancels a scheduled send. |
| Approvals | ||
approval_list | Read | Lists open letters in the approval queue. |
approval_submit | Action | Submits a letter for human approval. |
approval_decide | Action | Approves a letter after explicit consent, or rejects it. |
| Presets and uploads | ||
preset_save | Action | Saves a sending preset for recurring letters. |
signature_upload | Action | Uploads a signature as PNG and stores it. |
signature_list | Read | Lists your saved signatures with a preview link. |
letterhead_upload | Action | Uploads a letterhead and stores it. |
letterhead_list | Read | Lists your saved letterheads with a preview link. |
| Letter design | ||
letter_design_save | Action | Saves a reusable letter design and checks the delivery clear zones. |
letter_design_list | Read | Lists your saved letter designs. |
letter_design_preview | Read | Renders a preview PDF of a letter design. |
letter_design_delete | Action | Archives a letter design so it is no longer used. |
| Operations | ||
mcp_health | Read | Checks your token and the processing chain with an echo probe. |
| More tools | ||
sender_profile_upsert | Action | Creates or edits a sender profile: legal form, mandatory details, optionally bank details, disclaimer and default letterhead. |
analytics_summary | Read | Returns the partner account's aggregated metrics: letters per month, cost per mandant for rebilling, transit times to delivery, failure rates, and spend against configured limits. |
setup_fix_link | Read | Hands one item over to the human in a browser: top up the balance, sign the data processing agreement or complete the sender profile. |
letter_design_list_presets | Read | Returns the owner-approved native-v2 letterheads as safe starting points for cancellations, invoices, payment reminders, quotes, contracts and letters to public authorities. |
brand_kit_get | Read | Reads the saved brand values for the user-facing result letterhead and brand. |
brand_kit_save | Action | Saves logo references, colours and font for the user-facing result letterhead and brand. |
brand_import_from_website | Action | Reads a public company website and proposes a letterhead design from it: brand colours, a mapped house typeface, logo candidates and company details from the imprint. |
letter_preview | Read | Preview letter and draft as images, render form preview: composes like a real send and returns inline PNGs, PDF link, page count, cost and designRender with the actual documentMode, rendered letter chrome and bodyStartMm. |
template_preview | Read | Renders a STORED template with sample values and returns inline PNGs, PDF link and designRender. |
document_create | Action | Turns a structured billing payload into a finished document and stores it as a letter draft: FrankKi re-computes line items, net, VAT rates and gross, checks the mandatory details under § 14 UStG, optionally draws the document number from your sequence, and typesets everything in the DIN 5008 layout with your letter design. |
document_list | Read | Lists the documents you created (invoice, payment reminder, dunning letter, credit note), newest first, filtered by type, client, recipient or referenced document. |
document_get | Read | Returns one document with its full payload (line items, totals, VAT rates, reference) plus the letterId and orderId of the letter it lives in. |
How much does a letter cost
A standard letter via FrankKi MCP starts at 3,39 EUR in black and white or 3,49 EUR in color. With volume tiers, a German standard letter drops to 1,49 EUR from 20,000 letters per month, and many destinations are cheaper depending on volume. A registered letter (Einschreiben Einwurf) starts at 7,59 EUR, and a registered letter handed over against signature (Einschreiben Übergabe) starts at 8,19 EUR. shipping_quote returns the exact destination price before any send. MCP partners fund a prepaid wallet through a hosted Stripe Checkout page, and order_send debits that wallet. MCP never collects card data in the agent interaction. There is no subscription.
| Product | From | Detail |
|---|---|---|
| Standard letter | from 3,39 € | Black and white |
| Standard letter | from 3,49 € | Color |
| Volume tiers | from 1,49 € | German standard letter from 20,000 letters per month |
| Registered (Einwurf) | from 7,59 € | Delivery with proof of posting, no signature |
| Registered (Übergabe) | from 8,19 € | Handed over in person against signature |
Delivery within 1 to 3 working days inside Germany.
Fixed prices across DACH (DE, AT, CH). Worldwide via local partners and DHL, quoted per destination.
What is FrankKi MCP
FrankKi MCP is the agentic layer of letters: a live remote hosted Model Context Protocol server that gives AI assistants and agents a direct interface to real postal mail. Its 64 model-visible tools draft a letter formatted to the German DIN 5008 standard, return a binding price, send it worldwide and track delivery, all without a human leaving the chat.
We built FrankKi MCP so an agent can finish the job. It does not stop at the draft, it puts the letter in the post.
Every send goes through the same fulfillment safety net as our app. MCP partners fund a prepaid wallet through hosted Stripe Checkout, and the send debits that wallet. The MCP layer is a clean interface on top of a proven pipeline.
Who is FrankKi MCP for
FrankKi MCP makes letters for AI agents a normal workflow for law firms, tax advisors, agencies and developers who want their AI tools to send real letters without manual printing. Any team that drafts correspondence in an assistant can connect once at https://mcp.frankki.app and turn a draft into a posted physical letter in the same conversation, delivered worldwide.
Law firms
Draft client and counterparty letters in your assistant and send them as registered mail with proof of posting or signature on delivery where the destination supports that service, with tracking according to the selected service level.
Tax advisors
Generate filings, reminders and authority correspondence per client, then send them straight to the post with an approval step before anything leaves the office.
Agencies
Run mailings and per client outreach from one connection, send single letters or batches with order_send_batch, and keep every dispatch tracked and auditable.
Developers
Wire FrankKi MCP into agents and pipelines over plain streamable HTTP. Draft, quote, send and track letters with 64 model-visible tools and a single scoped Bearer API key.
Letter design
Give your agent existing stationery or a logo. It rebuilds them as a FrankKi letter design, creates a real sample letter for review, and saves the result only after you have checked it.
How dispatch works with FrankKi MCP
Automated
Every letter runs automatically from the AI assistant to postal handover, with no manual printing or stuffing envelopes on your side.
An operator monitors every send today, on top of the automated pipeline. Once enough real dispatches are measured, we will add a measured delivery rate here.
How secure is the connection
FrankKi MCP authenticates calls with scoped Bearer API keys and runs each send through the same fulfillment safety net as the FrankKi app. MCP partners fund a prepaid wallet through a hosted Stripe Checkout page and send debits from that wallet. OAuth 2.1 with Authorization Code, PKCE (S256) and Dynamic Client Registration (RFC 7591) is live in production at https://mcp.frankki.app, verified 2026-08-13 against https://mcp.frankki.app/.well-known/oauth-authorization-server. Read tools never change state, action tools are explicit, and every physical dispatch requires a human decision before it is sent. It is built for regulated mail: Einschreiben (registered mail) with an Einlieferungsbeleg (proof of posting) where supported, separated Mandanten (client matters) and approval flows with a human decision before a letter leaves.
Authenticated calls
Every request carries your scoped Bearer API key, or an OAuth access token. OAuth 2.1 with Authorization Code, PKCE (S256) and Dynamic Client Registration (RFC 7591) is live in production at https://mcp.frankki.app, verified 2026-08-13 against https://mcp.frankki.app/.well-known/oauth-authorization-server.
Read and action are separate
Read tools return state and never send mail. Action tools such as order_send are explicit, so an agent cannot post a letter by accident.
Approval queue
Every physical dispatch enters the approval queue. A human uses approval_decide before the letter leaves, and every decision is logged.
Proven fulfillment
Sends run through the same fulfillment pipeline that already powers the FrankKi app. The partner wallet is funded separately through hosted Stripe Checkout and debited on send.
Frequently asked questions
How do I send a physical letter via MCP
Is FrankKi MCP live yet
What exactly is FrankKi MCP
How do I connect FrankKi MCP
Which AI assistants are supported
How much does a letter cost
Which tools does FrankKi MCP offer
Does drafting a letter cost anything
How secure is the connection
Are the letters legally valid
Which countries can my agent send letters to
Can I use FrankKi MCP for regulated client mail
What makes FrankKi MCP different from other letter APIs
Connect FrankKi MCP today
FrankKi MCP is live. Create your account, set your password through the email link, top up your prepaid wallet through the hosted Stripe Checkout page, create your scoped Bearer API key, and point your assistant at https://mcp.frankki.app to send a real letter from your AI agent, worldwide, from 3,39 EUR with no subscription. shipping_quote gives you the exact price before the send.
Create your account and start
The implemented signup flow is public and needs no manual account approval. You receive an email link to set your password, then set up your sender and scoped Bearer API key in the dashboard. Current production signup availability is not independently confirmed, and explicit rollout switches can temporarily disable it.
Free to create, no setup fee. Fund your prepaid wallet through hosted Stripe Checkout; only real send orders debit it.