Send physical handwritten postcards from any AI agent. Real pen & ink, USPS, $4.99/card.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"postals": {
"env": {
"POSTALS_API_KEY": "your_api_key",
"POSTALS_TEST_MODE": "true",
"POSTALS_SENDER_ZIP": "78701",
"POSTALS_SENDER_CITY": "Austin",
"POSTALS_SENDER_NAME": "Jane Smith",
"POSTALS_SENDER_STATE": "TX",
"POSTALS_SENDER_ADDRESS": "123 Main St"
},
"args": [
"-y",
"postals-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
The agent skill that turns any AI into a direct mail machine. > One tool call. Real handwritten postcards. Delivered by USPS.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'postals-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked postals-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in communication
Asynchronous coordination layer for AI coding agents: identities, inboxes, searchable threads, and advisory file leases over FastMCP + Git + SQLite
A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API
PubNub Model Context Protocol MCP Server for Cursor and Claude
Reddit browser for AI assistants. Browse posts, search content, analyze users. No API keys needed.
MCP Security Weekly
Get CVE alerts and security updates for io.github.coopergwrenn/postals-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
The agent skill that turns any AI into a direct mail machine. One tool call. Real handwritten postcards. Delivered by USPS.
Send physical handwritten postcards from any MCP-compatible AI agent — Claude Desktop, Cursor, Claude Code, OpenClaw, n8n, LangChain, CrewAI, or your own code. Postals handles image upload, card creation, robotic handwriting (real pen and ink), and USPS mailing.
Website: postals.ai
A new pattern is emerging in the AI agent ecosystem: autonomous bots that scan the world (satellite imagery, social media, public records), identify opportunities, and reach out with real physical mail. Pool builders, landscapers, roofers, solar installers, real estate agents — they're closing five- and six-figure deals from postcards mailed by bots.
Before Postals, every builder hand-rolled their own mailing stack: image upload, card templating, print API, address validation, USPS handoff, tracking. It took weeks and was fragile.
We ship this as one tool. Your agent calls send_postcard with a recipient and a message. We do the rest.
Coming soon — the developer portal at postals.ai/developers is launching shortly. Once live, the flow is:
- Go to postals.ai/developers
- Create an account with your email (one-click magic link — no password)
- Fund your wallet ($25 / $50 / $100 / $250 via Stripe or crypto)
- Copy your
postals_live_API key- Paste it into your MCP config (see step 2 below)
That's it. No external accounts needed. Just Postals.
If you're in Claude Code, Cursor, Continue, Aider, or any other MCP client with filesystem access, just tell your agent:
Install the postals-mcp MCP server for this client. My Postals API key is:
PASTE_YOUR_KEY_HERE. Start in test mode so I can verify the setup before sending real cards.
Your agent will locate your MCP config file, merge the postals entry into your existing mcpServers (preserving any other servers you have), wire up the env vars, and tell you to restart the client. You never touch JSON.
Optional — add return-address details to the same prompt so send_postcard works without per-call overrides:
...and use Jane Smith, 123 Main St, Austin TX 78701 as my return address.
Then fully quit and relaunch the client (Cmd+Q on macOS — just closing the window isn't enough).