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.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.
- Create an account at mailbox.bot/signup: verify email and phone, add a return address and accept the terms.
- Add prepaid credits in Billing before real mail. Sandbox tests are free.
- 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.
| Service | 1 page | Delivery |
|---|---|---|
USPS First-Class Mail first_class | $2.00 | Standard letter mail, no carrier tracking |
USPS Priority Mail priority | $15.00 | Faster USPS with USPS Tracking |
USPS Certified Mail certified | $20.00 | USPS tracking plus proof of mailing and delivery |
USPS Certified Mail + Electronic Return Receipt certified_return_receipt | $24.00 | Certified Mail plus electronic return receipt |
FedEx Ground fedex_ground | $14.89–$17.91 | 1–5 business days, FedEx tracking |
FedEx Express Saver fedex_express | $30.93–$49.38 | 3rd business day, FedEx tracking |
FedEx 2Day fedex_2day | $25.68–$47.22 | 2nd business day, FedEx tracking |
FedEx Overnight fedex_overnight | $60.92–$92.81 | Next 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).
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
