mailsnail

mailsnail

An open-source MCP server for sending physical mail (letters, postcards, certified mail) directly from AI agents, with per-piece payment and no account signup needed.

Category
Visit Server

README

Mailsnail

smoke

Open-source, provider-agnostic physical mail for AI agents.

Agents have every channel except one. They can email, text, call, and post to every feed — but until now, putting a real, postmarked envelope in a mailbox meant a human signing up for a print-provider account, provisioning API keys, and wiring billing. Mailsnail closes that gap:

  • No signup in managed mode. Agents pay per piece via Stripe Shared Payment Tokens over the Machine Payments Protocol (HTTP 402). First letter can go out minutes after install. $1.50 first-class, $9.00 certified, $1.00 postcard — flat, no subscription.
  • No lock-in, ever. The provider layer is open and swappable: bring your own Click2Mail or Lob account, self-host the whole gateway, or chain providers for failover. The managed service is a convenience, not a cage.
  • Built for compliance mail. Certified letters with extra_service: "certified" — the mail that legally must be physical (preliminary lien notices, legal notices) and must not miss its deadline because one print API had a bad day.
claude mcp add mailsnail -- npx -y mailsnail
# then: "Send me a postcard that says hello."

Packages

Package What it is
mailsnail MCP server — 7 tools (verify_address, preview_letter, send_letter, send_postcard, get_letter, list_letters, cancel_letter) over any provider below. Works in Claude Code, Claude Desktop, Cursor, Codex CLI, OpenAI Agents SDK.
@mailsnail/core Provider-agnostic core: adapters (Click2Mail, Lob, any Mailsnail gateway), multi-provider failover router, request validation. Zero dependencies.
@mailsnail/gateway Self-hostable REST API: BYO provider credentials, body_text→PDF rendering, proofs, invocation logging. The managed service at api.mailsnail.dev runs the same wire protocol.
spec/ The provider-neutral mail-piece schema + the failover-safety contract. Implement it and anything — including a print shop — becomes a Mailsnail-compatible node.

Four ways to run it

Mode Credentials Paying Good for
managed (default) none agent, per piece (Stripe SPT) agents; zero-setup
gateway your own, on your server your provider account teams; PII stays in your infra
click2mail / lob (BYOK) yours, local env your provider account direct control, one provider
failover chain yours, per provider your provider accounts mail that must not miss deadlines

Failover is deliberately conservative: a send moves to the next provider only when the failed provider guarantees nothing entered production and no money moved (safeToRetry — see the spec). A duplicate certified letter is worse than an error.

Safety

  • Dry-run by default everywhere; live mail requires an explicit MAIL_MCP_ALLOW_LIVE=1.
  • Per-session spend caps in the MCP server; auto-refund in managed mode when a paid piece fails to mail.
  • preview_letter returns a proof PDF and exact price before anything is charged — show it to your user first.
  • Don't use this for spam, harassment, or fraud. Provider terms and USPS regulations apply; managed mode enforces its own abuse screening.

Why open source

You're letting software put paper in mailboxes and spend money doing it. Read the code. Run it yourself with your own provider account for free. Use managed mode when you'd rather not hold credentials at all. If we ever disappoint you, MAIL_PROVIDER=click2mail and your mail keeps moving — that's the deal, and it's enforceable because this repo exists.

Status

Early. US-only today. Letters, certified letters, and postcards. The managed API, MCP server, self-host gateway, and Click2Mail/Lob adapters are live; additional adapters (PostGrid, Stannp) are next — CONTRIBUTING.md has the adapter guide if you want one sooner.

License

MIT.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured