4 min readMailsnail

Introducing Mailsnail: the way AI agents send physical mail

Agents already have phones, email, code, and the web. Today we're shipping the missing channel: a postmarked envelope, decided and dispatched by software.

launchmcpagents

Agents already have phones (Twilio), email (every SMTP API), code execution, file systems, web browsing, and a thousand other tools. There is one channel they couldn't reach until today: a real, postmarked piece of physical mail.

Mailsnail closes that gap.

What it is

Mailsnail is an MCP server. Wire it into Claude Code, Claude Desktop, Cursor, the Codex CLI, the OpenAI Agents SDK, or any client that speaks Model Context Protocol. The server exposes seven tools:

  • verify_address — validate and normalize a US address (free) before you spend anything
  • preview_letter — generate a proof and the exact price without charging; the recommended first step
  • send_letter — compose and mail a physical letter to any US address
  • send_postcard — send a postcard with a custom front image
  • get_letter — check delivery state by ID
  • list_letters — paginate through everything the agent has sent
  • cancel_letter — cancel a piece before it enters production

That's the entire surface. No 17-knob configuration, no campaign builder, no template DSL. Just a small set of well-typed tools that an agent can call on the first try.

Why now

Two things changed in the last year that make this interesting:

  1. MCP shipped and stuck. Every major agent runtime now speaks the protocol. A single MCP server is reachable from every place an agent runs.
  2. Agents got good enough to write the letter. A frontier model can draft a thank-you note, a condolence card, or a preliminary-notice letter that doesn't read like a template. The bottleneck isn't writing anymore; it's dispatch.

Sign in, pay per piece

In managed mode you add the remote server, sign in from your MCP client, and mail draws against a prepaid balance. There are no API keys to provision and no card number for us to hold — Stripe does that. The first send_letter hands back a checkout link if you haven't funded yet; open it, add a card, retry, and the letter goes out. First-class letters are $1.50, certified $9.75, postcards $1.00. If a piece fails to mail, the charge is auto-refunded.

Why a balance and not a charge per letter: card processing carries a fixed fee on every charge, which on a $1.50 letter would be about a fifth of the price. One charge covering many pieces is what keeps cheap mail cheap.

There's also an account-free path for agents that can pay for themselves — post a letter, get an HTTP 402 with the price, retry with a Stripe Shared Payment Token. That needs a client able to mint one, which most coding agents can't do yet.

The kinds of things our users mail

  • Customer thank-you notes after a positive support resolution
  • Welcome kits for high-intent signups
  • Preliminary lien notices in construction (which legally have to ship as physical mail)
  • Birthday and condolence cards from personal AI assistants
  • Targeted, low-volume direct mail to the 50 accounts that matter, written and dispatched per-event by an agent

Built for agents first

Most APIs are designed for a human reading a dev portal. We built the opposite: a site that an agent can read cold.

  • /llms.txt and /llms-full.txt at the root, written for ingestion
  • /openapi.json with rich descriptions and an x-mcp extension
  • /setup that returns ready-to-paste MCP config for every major client
  • JSON-LD SoftwareApplication and WebAPI graphs on the homepage

If a model lands on the docs without context, it should be able to wire itself in without further hand-holding.

How to try it

Open Claude Code in any project and run:

claude mcp add -t http mailsnail https://api.mailsnail.dev/mcp

Then run /mcp, select mailsnail, and choose Authenticate — adding a server registers it but doesn't open the browser on its own. Sign in, ask the agent to send you a postcard, and it will. The full setup walkthrough, with copy-paste config for every major client, lives at /setup.

What's next

Three things on our roadmap:

  1. International delivery. US-only at launch; international coming.
  2. Custom letterheads and stationery. Per-account templates so your agent's mail feels like yours.
  3. Listing in every MCP registry that exists. Smithery, Glama, mcp.so, Anthropic's MCP directory, awesome-mcp-servers, Pulse MCP.

If you build with agents and there's a workflow where physical mail belongs but never gets sent because of the friction, we'd love to hear about it. Email hello@mailsnail.dev.