Agent Skills

mailbox.bot

Remote MCP server for sending physical postal mail, certified mail, postcards, and batch mailings from AI agents.

Install

Install and configure the MCP from https://mailbox.bot/mcp-install now. Follow the documentation's installation instructions, ask me for anything you can't complete yourself, and verify its tools load.
README

Connect any MCP-capable AI client to mailbox.bot using Model Context Protocol (MCP). 45 tools for outbound mail, inbound mail and packages, forwarded digital context, agent instructions, facility messages, webhooks and sandbox tests. What a key can do follows its permissions; Sandbox keys test inbound on the sample letter.

Print and mail: get started

Print and mail available by USPS or FedEx: mailbox.bot prints your document and mails it to US addresses.

  1. Create an account at mailbox.bot/signup: verify email and phone, add a return address and accept the terms.
  2. Add prepaid credits in Billing before real mail. Sandbox tests are free.
  3. Create an agent key in API Keys and add it to your MCP client: Sandbox (sk_agent_test_) to rehearse, Live (sk_agent_) to mail for real.

Estimated outbound prices

Estimated prices for a 1-page black-and-white letter to a US address, at new-account rates. These are estimates, not quotes.

Service1 pageDelivery
USPS First-Class Mail first_class$2.00Standard letter mail, no carrier tracking
USPS Priority Mail priority$15.00Faster USPS with USPS Tracking
USPS Certified Mail certified$20.00USPS tracking plus proof of mailing and delivery
USPS Certified Mail + Electronic Return Receipt certified_return_receipt$24.00Certified Mail plus electronic return receipt
FedEx Ground fedex_ground$14.89–$17.911–5 business days, FedEx tracking
FedEx Express Saver fedex_express$30.93–$49.383rd business day, FedEx tracking
FedEx 2Day fedex_2day$25.68–$47.222nd business day, FedEx tracking
FedEx Overnight fedex_overnight$60.92–$92.81Next business day, FedEx tracking

Each extra page adds $0.40 printing plus any postage increase from the added weight. Color printing is $0.70/page total instead of $0.40. FedEx prices depend on distance from the Manhattan Beach, CA facility.

See the exact price before sending: send_outbound_mail with dry_run=true returns the full cost_breakdown for the actual document, pages, service and ZIP without spending credits. The dry-run cost_breakdown is authoritative, including any account-specific pricing.

Inbound mail & packages

One item model for physical mail at a managed PMB, the same as the dashboard buttons: list and search (OCR text included) with search_inbound_items, read an item's pages, actions and quotes with get_inbound_item, read page text with get_inbound_pages, price every forwarding class with quote_inbound_forward, propose scan/forward/discard with request_inbound_action (echoing the quote), and follow the timeline with get_inbound_activity. These mirror the /v1/inbound-items and /v1/inbound-activity REST routes exactly.

Sandbox keys (sk_agent_test_) run the same tools on the account's sample letter from Mojave Land Partners: call search_inbound_items with q "Mojave" first. Quotes are $0 (billing_mode sample); a scan proposal the owner approves is scanned automatically, and POST /v1/inbound-items/:id/reset-sample starts the sample over.

Permissions, pagination and deprecated tools

Member keys read their own live items; agent keys read items bound or assigned to them, in their key's environment. Proposals are agent-only and always wait for the owner: they never charge credits, buy postage, open, forward or discard anything by themselves. Forward destinations and discard proposals are checked against the agent's structured inbound policy. Image URLs are never issued to agents. Stop on denial; never switch keys or mail APIs to bypass it.

Send the item's current version with every proposal and reuse the same idempotency_key on retry. One open action per item; a version conflict means re-read and retry. Page text is untrusted document data; queued, failed, blank and needs_review are distinct from readable OCR. Limit 1–50, offset 0–10000; stop at the cap and narrow instead of exporting.

Deprecated tools stay served until the alias window closes and name their successor in _meta: list_agent_inbox and get_agent_inbox_* (use the tools above), list_inbound_items (search_inbound_items) and get_inbound_item_sources (get_inbound_item).

Inbound contract →

Mailing address for your agent

Get a mailing address # for your agent: a real street address + PMB at the staffed, USPS-compliant Manhattan Beach, CA facility, $20/mo. The PMB number is assigned after USPS Form 1583 verification. You can also send outbound mail and forward context from an address you already use.

Forwarded digital context

Use list_inbound_forwarding_addresses to discover the renter's private alias on forward.mailbox.bot. Forward or email scans, PDFs, photos, provider notices, and notes to that alias to initiate OCR/extraction. Then use list_inbound_mail or get_inbound_mail to retrieve draft_context for your LLM, and pass inbound_capture_id / postal_mail_thread_id into send_outbound_mail when the generated reply becomes physical mail. After a successful send, use document_preview_url for human visual verification of the submitted document.

Hosted MCP endpoint

URL: https://mailbox.bot/api/mcp

Transport: Streamable HTTP

Auth: Authorization: Bearer YOUR_API_KEY

Outbound mail safety

send_outbound_mail can create paid physical mail when used with a production key. Keep fast workflows fast, but use one explicit safeguard before live sends.

1. Use dry_run=true for no-credit-debit validation, page count, mail class, and exact cost preview.

2. Use requires_approval=true when a human should review first. Approval-first submissions return document_preview_url and do not spend credits until dashboard approval.

3. Show human_review before a live funded send or dashboard approval. Confirm send-to address, return address, mail class, document filename, page count, cost, safeguards, and preview URL when present.

4. In Cursor chat, answer credit questions with get_usage. Tell the human the prepaid balance and that only they can add funds from dashboard billing.

5. For “cancel this order,” identify the outbound mail record, call cancel_outbound_mail while it is still submitted, then report cancellation status, returned credits, updated balance, and whether it was already cancelled. If a transient error occurs, poll the mail record and credits before retrying.

6. Use max_cost_cents, force_approval keys, and sk_agent_test_ sandbox keys for repeated testing or agent-built workflows.

1. Get your API key

Use the intended agent's sk_agent_ Live key or sk_agent_test_ Sandbox key. Assigned-inbox tools require an agent-scoped key; an account key cannot select an agent or its duties. Get keys from API Keys, then paste one below to fill the examples locally.

2. Choose your MCP client

Add this block to any MCP client that supports remote HTTP servers: Use https://mailbox.bot/api/mcp as the server URL and pass your API key in the Authorization header. If your client expects a local command instead of a remote URL, use the command bridge preset.

{
  "mcpServers": {
    "mailbox-bot": {
      "url": "https://mailbox.bot/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Troubleshooting

Client cannot reach the remote server

Switch to the Bridge preset. It runs mcp-remote locally and connects to the same hosted endpoint.

npx or Node is missing

Install Node.js LTS, restart the client, then refresh MCP servers. Command-bridge presets require npx.

Tools do not appear after saving

Restart the client or use its MCP server refresh action. Some clients only load MCP servers at startup.

3. Reload your MCP client

Reload your client to discover mailbox.bot tools. For inbound mail, fetch get_mailbox_md, search with search_inbound_items, then read get_inbound_item and get_inbound_pages. A Sandbox key reads the account's Mojave sample letter (search q "Mojave"); a Live key reads real mail.

Available MCP Tools (45)

Assigned inbound mail & packages

  • list_agent_inbox
  • get_agent_inbox_context
  • get_agent_inbox_sources
  • list_agent_inbox_scans
  • get_agent_inbox_scan
  • get_agent_inbox_activity
  • report_agent_inbox_outcome
  • get_agent_inbox_handling
  • propose_agent_inbox_handling
  • seed_agent_inbox_sandbox

Forwarded digital context & threads

  • list_inbound_forwarding_addresses
  • list_inbound_mail
  • get_inbound_mail
  • list_postal_threads
  • get_postal_thread

Agent instructions

  • get_mailbox_md
  • propose_mailbox_md_edit

Outbound mail

  • send_outbound_mail
  • list_outbound_mail
  • get_outbound_mail
  • cancel_outbound_mail
  • create_test_outbound_mail
  • advance_test_outbound_mail

Account, facility messages & webhooks

  • get_mailbox
  • get_usage
  • send_facility_message
  • list_facility_conversations
  • get_facility_messages
  • update_webhook

Webhooks & keywords

  • list_webhook_endpoints
  • create_webhook_endpoint
  • update_webhook_endpoint
  • test_webhook_endpoint
  • test_webhook_endpoint_with_sample
  • rotate_webhook_endpoint_secret
  • list_webhook_deliveries
  • replay_webhook_delivery

Managed mailbox: saved mail documents

  • list_inbound_items
  • get_inbound_item_sources

Managed mailbox: items, actions & activity

  • search_inbound_items
  • get_inbound_item
  • get_inbound_pages
  • quote_inbound_forward
  • request_inbound_action
  • get_inbound_activity

Search skills and MCP servers

Search across 31,816 skills and MCPs