The first MCP server for physical mail

From prompt to postcard
in 24 hours.

Send tracked postcards and letters in one API call, or just ask your AI agent. Subscribe for $99 a month and every piece ships at wholesale. From $0.58 per piece, no minimums.

Ask Mailstream · in Claude or ChatGPT

MCP · plain-language prompts · live in Claude, ChatGPT & Cursor

Get your API key in under a minute.

We will never spam you. Privacy policy applies.

Need an enterprise walkthrough? Talk to an engineer.

Easy.

Three lines of code, or one MCP call. We handle design, data, print, postage, and tracking.

Affordable.

Subscribe for $99 a month and every piece ships at wholesale. No volume tiers, no negotiation.

Manufacturer-direct.

We print it ourselves. The price is the real cost, not a markup off retail.

Prefer code? Three lines.

The same send the agent makes, straight from your stack. Official SDKs in Python, Node, PHP, and Go.

postcard.ts
import Mailstream from "mailstream";

const ms = new Mailstream(process.env.MAILSTREAM_KEY);

await ms.postcards.create({
  size: "4x6",
  to: { name: "Jane Doe", address: "123 Main St, Tampa FL 33602" },
  from: { name: "Acme", address: "1 Maker Way, Austin TX 78701" },
  front_template_id: "tpl_new_listing",
  variables: { first_name: "Jane", agent_name: "Sam Park" },
});

The offer

One subscription. Wholesale on every piece.

Most direct mail vendors charge you retail and pocket the markup. We are the manufacturer. Subscribe for $99 a month and every postcard and letter ships at our cost.

No volume tiers. No negotiation. No “contact us for pricing.” The subscription pays for itself the first time you send a real campaign.

Get your API key →
Item
Pay-as-you-go
Wholesale ($99/mo)
Postcards
from $0.82 / piece
from $0.58 / piece
Letters
from $0.97 / piece
from $0.80 / piece
Per-piece pricing finalized at launch. Wholesale unlocked the moment you subscribe.

Verbose API errors

Debug in minutes, not days. Every error includes a fix hint and a doc link.

Versioned API

v1 is stable. Breaking changes get a new version, never a surprise.

Sandbox mode

Test without sending real mail. Every account starts here by default.

Idempotency keys

Safe to retry. Duplicate requests with the same key return the original result.

Pagination + filtering

Cursors, not pages. Filter by status, date, recipient, or custom metadata.

Webhooks for every status

Printed, mailed, scanned, delivered. Each as a separate event with full piece context.

Common questions

Do you have an MCP server?
Yes. Official, drop-in for Claude, GPT, Cursor, or any MCP-compatible client. We publish updates with the same versioning as the REST API.
Is there a sandbox?
Every account starts in sandbox. Flip to production when you are ready. Sandbox calls return real responses without sending real mail.
What does the subscription cost?
$99 a month, flat. It pays back the first time you send a real campaign. Pay-as-you-go has no monthly fee, you just pay per piece.
Do I have to subscribe?
No. Pay-as-you-go is always available. Subscribe when wholesale rates save you more than the monthly fee.
How does tracking work?
USPS scan-based tracking, surfaced via webhooks on every status change (printed, mailed, in-transit, delivered) plus a dashboard.
What languages do you support?
Official SDKs in Python, Node, PHP, and Go. The REST API works from anywhere.

Building something bigger?

Talk to an engineer.

High volume, white-label, an SLA, or a migration off Lob or PostGrid? Book a technical walkthrough and we'll scope the integration with you.

Tell us what you're sending. We'll reach out within one business day to walk you through it.

We will never spam you. Privacy policy applies.

Send your first postcard in five minutes.

API key in minutes. Sandbox mode. Copy-paste examples in your language. Subscribe when wholesale rates save you more than the monthly fee.