Skip to main content
For developers & AI agents

Send a real letter from your app or your AI agent

Premier Letters writes letters, cards and postcards with a real pen and mails them via USPS — from $4.60 per letter, plus postage. Quote, preview, create and track orders with a REST API or a remote MCP server built for Claude, ChatGPT, and any MCP-compatible agent.

Quick start

Generate a key at Settings → API keys, then validate an order (free, no charge) and create one when you're ready to send it.

1. Validate & price a letter

POST /api/v1/validate
curl -X POST https://www.premierletters.com/api/v1/validate \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer pl_live_xxxxx" \
  -d '{
    "message": "Dear Jane,\n\nThank you for your business.",
    "recipients": [{
      "first_name": "Jane", "last_name": "Doe",
      "address_line1": "123 Main St", "city": "Austin", "state": "TX", "zip": "78701"
    }]
  }'

2. Create and pay for the order

POST /api/v1/orders
curl -X POST https://www.premierletters.com/api/v1/orders \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer pl_live_xxxxx" \
  -d '{
    "message": "Dear Jane,\n\nThank you for your business.",
    "recipients": [{
      "first_name": "Jane", "last_name": "Doe",
      "address_line1": "123 Main St", "city": "Austin", "state": "TX", "zip": "78701"
    }],
    "payment": { "method": "checkout_session" }
  }'

Pricing is from $4.60 per letter, plus postage (passed through at face value). The first 300 characters are included; every additional 100 characters adds $0.75. We write and mail within 2 business days; USPS First-Class delivery then typically takes 3–5 business days.

MCP server — for AI agents

A remote Model Context Protocol server at https://www.premierletters.com/api/mcp. Quoting, listing handwriting styles and verifying an address work with no account; creating an order needs your API key as a bearer token. Stateless Streamable HTTP — no session setup required.

Add to Claude

  1. claude.ai → Settings → Connectors
  2. Add custom connector
  3. URL: https://www.premierletters.com/api/mcp
  4. Paste your API key as the bearer token

Add to ChatGPT

  1. Settings → Connectors (developer mode)
  2. Add MCP server
  3. URL: https://www.premierletters.com/api/mcp
  4. Provide your API key when prompted for auth
Generic MCP client config
{
  "mcpServers": {
    "premier-letters": {
      "url": "https://www.premierletters.com/api/mcp",
      "headers": { "Authorization": "Bearer pl_live_xxxxx" }
    }
  }
}

Example prompts

  • Send a handwritten thank-you to Jane Doe at 123 Main St, Austin, TX 78701.
  • How much would it cost to mail 50 postcards on premium paper?
  • Preview what this letter will look like in the Classic style before I order it.
  • Check the status of my last Premier Letters order.

MCP tools

get_pricing

Get a live price quote for a Premier Letters order. Pass char_count (or letter_count for a rough estimate) plus optional mailing_option and paper_type to get a per-piece and total price, in cents. No account needed.

No key required
list_handwriting_styles

List available handwriting styles (fonts) for a letter order. Use the returned "id" as options.handwriting_style / handwriting_style when creating an order or previewing.

No key required
list_templates

List the authenticated user's saved letter templates.

API key required
verify_address

Verify and standardize a US mailing address via USPS. Use before create_order to catch typos and get the USPS-standardized form.

No key required
preview_letter

Render a preview of a handwritten letter (as an SVG image) and get its price, before creating an order. Does not save anything.

API key required
create_order

Create and pay for a Premier Letters order — a real, handwritten letter mailed via USPS. Requires a Premier Letters API key. Use get_pricing or preview_letter first to confirm the price. For payment, either "card_on_file" charges the caller's saved card immediately, or "checkout_session" returns a checkout_url for the human to complete payment in a browser.

API key required
get_order_status

Get an order's status, delivery/tracking summary, and per-recipient mail status.

API key required
list_orders

List the authenticated user's recent orders.

API key required

More ways to connect