MCP Server logo

MCP Server

by PostcardBot

Preview, send, track, and manage physical postcard orders through Postcard.bot from an MCP-compatible client.

Install MCP Server

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "postcardbot-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@postcardbot/mcp-server@latest"
      ],
      "env": {
        "POSTCARDBOT_API_KEY": "YOUR_VALUE_HERE",
        "POSTCARDBOT_API_URL": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

PostcardBot/mcp-server connects MCP-compatible AI clients to Postcard.bot for previewing, ordering, and tracking physical postcards. Its tools cover artwork checks, pricing, account balances, single-card orders, bulk jobs, delivery status, and webhook management. Use it when an agent needs to turn recipient data and artwork into physical mail, while keeping paid sends explicit and separate from previews.

Use cases

  • Preview postcard artwork and pricing before approval
  • Send personalized postcards to individual recipients
  • Queue bulk mailings for up to 5,000 recipients
  • Track postcard and bulk-job processing states
  • Receive postcard lifecycle events through webhooks

Key features

  • Pre-send image, QR, pricing, and balance checks
  • Single-card and bulk postcard ordering
  • International postcard support
  • Account balance and live pricing inspection
  • Postcard and bulk-job status reporting
  • HTTPS webhook registration and signature verification support

Tools9

What MCP Server lets your agent do. Expand a tool for its parameters.

Self-reported~161 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

20/21 checks healthy over the last 86d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 2d ago via OSV.dev · @postcardbot/mcp-server@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars5Stargazers on the source repository.
npm downloads257Package downloads in the last 30 days.
Last commit6d agoMost recent push to the default branch.
Tools exposed9Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Server works

What PostcardBot/mcp-server does

PostcardBot/mcp-server exposes Postcard.bot mailing operations through the Model Context Protocol. An MCP-compatible client can preview a postcard, inspect pricing and account funding, place a single order, queue a bulk mailing, check processing results, and manage webhook endpoints.

The service supports physical postcards for US and international destinations. Messages can contain up to 350 characters, and postcard artwork is supplied as a publicly accessible HTTPS image URL. Single-card and bulk workflows accept sender and recipient address information, optional back templates, and image fitting options.

How it works

The local package runs as a Node.js process over MCP stdio. It communicates with Postcard.bot using an account API key and does not open a local HTTP port. A hosted alternative is available at https://postcard.bot/api/mcp for clients that support remote Streamable HTTP and OAuth; that deployment is separate from the npm package.

Use preview_postcard before sending to inspect price, balance sufficiency, image dimensions, QR-related checks, the back preview, and warnings. Previewing does not reserve funds, submit mail, or lock in a price. Sending requires prepaid account balance and an explicit call to a write-capable tool.

Bulk jobs accept 1–5,000 recipients, share artwork and sender details, and process asynchronously. {{name}} can be expanded to each recipient's first name. Funds are reserved up front, and review holds can delay printing. Status values distinguish review, printing acceptance, failure, and cancellation, but a sent result is not proof of delivery.

Setup and configuration

Node.js 20 or newer is required. Install the package through an MCP client's server configuration with npx and the @latest package tag, then provide POSTCARDBOT_API_KEY from a Postcard.bot account. Restart the client after changing its configuration or updating the package.

POSTCARDBOT_API_URL can override the default service origin of https://postcard.bot; changing this origin does not create a sandbox, so send tools may still create paid physical-mail orders. Keep the API key private. The wrapper does not automatically retry requests, so check order status before repeating a request that timed out.

Tools and capabilities

  • preview_postcard: Validate artwork and postcard details, calculate pricing, check balance sufficiency, and return previews and warnings without sending.
  • send_postcard: Place one paid postcard order; an order may enter pending_review.
  • bulk_send: Queue up to 5,000 recipients with shared artwork, sender details, and message content.
  • check_balance: Read account-specific rates, available balance, lifetime top-ups, and any pricing-protection expiry.
  • get_pricing: Retrieve public pricing and subscription availability.
  • check_status: Inspect a postcard or bulk job, including failure and refund information.
  • list_webhooks, create_webhook, and delete_webhook: Manage account webhook endpoints. Created endpoints must use HTTPS, and the signing secret is returned only when the endpoint is registered.

Webhook events include postcard creation, sending, delivery, failure, and return. Receivers should verify the raw request body using the issued HMAC signature and make downstream actions idempotent.

Limitations and notes

Postcard previews do not reserve balance or pricing. Paid sends are non-idempotent, and a timeout may occur after an order has already been accepted. Delivery estimates are not guarantees. Bulk processed counts can include cards still waiting for review, and fulfillment routing is handled internally.

The standard MCP package does not automatically enable white-label designs or subscriptions. Current public prices should be read with get_pricing, while account-specific rates come from check_balance.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Server

PostcardBot/mcp-server is an MCP server that connects AI agents to Postcard.bot for designing, previewing, ordering, and tracking physical postcards. Its main tools preview artwork and pricing, send single or bulk orders, inspect balances and status, and manage HTTPS webhook endpoints for event notifications.

Install it through an MCP client configuration that runs `npx -y @postcardbot/mcp-server@latest` and sets `POSTCARDBOT_API_KEY`. Node.js 20 or newer is required. Restart the client after changing the configuration or updating the package.

No. `send_postcard` and `bulk_send` create paid physical-mail orders and require prepaid balance. `preview_postcard` is the non-charging option: it checks pricing, balance sufficiency, artwork, and warnings without submitting mail or deducting funds.

Use `check_status` with the postcard ID or bulk-job ID. It reports states such as `pending_review`, `sent`, `failed`, and `cancelled`, along with failure or refund information. A `sent` state means the order was accepted for printing, not that delivery is complete.

Call `create_webhook` with an HTTPS URL and an events array, then securely save the returned signing secret. Verify each request's raw body using the `X-PostcardBot-Signature` HMAC format, and use idempotent processing for receiver-side actions.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/postcardbot-mcp-server?style=directory)](https://allmcps.com/mcp/postcardbot-mcp-server)
HTML Embed
<a href="https://allmcps.com/mcp/postcardbot-mcp-server"><img src="https://allmcps.com/api/badge/postcardbot-mcp-server?style=directory" alt="MCP Server on AllMCPs" /></a>