mcp server
mailbox
Physical mail API for AI agents. Send letters, certified mail. Sandbox + live keys via MCP.
Description as published by the maintainer. Source
- version 1.0.1
- active
active — Registry entry last updated 2026-05-27.
What this server can do
30 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
add_note(note, metadata, package_id)- Add an observation or context note to a package. Notes are visible to the facility operator and the renter. Use for recording decisions, observations, or agent reasoning. Required: package_id, note.
add_tag(tag, package_id)- Add a tag/label to a package for categorization and filtering. Tags are free-form strings. Adding the same tag twice is a no-op. Required: package_id, tag.
advance_test_outbound_mail(mail_id)- Advance a test_mode outbound mail record one lifecycle step and queue the matching webhook. submitted becomes ready with simulated pages/envelope photos; ready becomes mailed with carrier, dispatch method, receipt photo, and tracking when the selected service includes tracking; mailed becomes delivered. Required: mail_id.
cancel_outbound_mail(mail_id)- Cancel a queued outbound mail job before facility printing starts. If the mail was funded with prepaid credits, eligible credits are returned to the member ledger. Safe to retry: already-cancelled mail returns cancelled status without creating a duplicate refund. In chat, report cancellation status, returned credits, updated balance, and whether it had already been cancelled. If a transient error occurs, poll the mail status and credits before retrying. Required: mail_id.
create_rule(name, conditions, action_type, action_params, requires_approval)- Create a standing instruction that auto-triggers actions when incoming packages match conditions. Rules run on every new package and execute the specified action if all conditions match. Use requires_approval to add a human review step before execution. Required: name, conditions, action_type, action_params.
create_test_outbound_mail(color, metadata, mail_class, page_count, agent_notes, recipient_zip, recipient_city, recipient_name, recipient_line1, recipient_state, recipient_company)- Create a sandbox outbound mail record without uploading a real document. The record is always test_mode=true, cost_cents=0, includes estimated_live_cost_cents and cost_breakdown, and queues a mail.submitted webhook. Published default pricing is $0.30/page B&W printing; color adds $0.40/page ($0.70/page total before handling and postage). FedEx and UPS estimates use the same configured origin and destination zone/region logic as production. Use with a sandbox key to rehearse outbound workflows before sending real physical mail.
get_facility_messages(limit, before)- Read the message thread with Austin HQ. Facility routing is automatic. Returns messages in reverse chronological order with sender role (member, facility, agent). Supports cursor-based pagination. Automatically marks facility messages as read.
get_inbound_mail(include, signed_urls, inbound_mail_id)- Get one forwarded inbound mail item with compact draft_context by default. Use this before drafting an outbound reply when you need sender context, reply contact candidates, deadline clues, source files, and thread linkage in one stable payload. Required: inbound_mail_id.
get_mailbox- Get your agent's real mailing address beta endpoint when the account has explicit beta access: street address + mailbox number for approved accounts. For generally available inbound context, use list_inbound_forwarding_addresses instead; that returns a private intake alias for scans, PDFs, photos, provider notices, and notes from addresses the operator already uses.
get_mailbox_md- Get the renter's MAILBOX.md standing instructions for this agent. Returns the full instruction text, version number, content hash, and last update timestamp. Call this on startup and cache the version — you must pass it to send_outbound_mail and update_action for sync verification.
get_outbound_mail(mail_id)- Get full details of an outbound mail job including recipient address, mail class, page count, cost breakdown, current status, failure metadata, document metadata, and fulfillment photos. Legacy plaintext records may include direct document URLs; encrypted source documents are retrieved through the REST document endpoint with document.read scope. Required: mail_id.
get_package(package_id)- Get full package details including photos, tracking events, shipping label data (carrier, addresses, weight), forwarding status, storage location, and action history. Required: package_id.
get_package_photos(package_id, photo_type)- Get photos for a package with OCR-extracted text and confidence scores. Filter by photo type to get only exterior shots, label closeups, barcode scans, or content scans. Required: package_id.
get_postal_thread(include, thread_id)- Get one physical-mail thread with optional timeline events. Use this to explain how a generated outbound mail piece relates back to prior inbound scans and review decisions. Required: thread_id.
get_scan_results(package_id)- Get document scan results including raw OCR text, structured data fields (addresses, dates, amounts), and confidence scores. Returns empty if scan is still processing. Required: package_id.
get_usage(period_end, period_start)- Get usage summary, billing events, and prepaid credit balance for a time period. Returns itemized events (scans, forwards, mail sends) with costs, period totals, and credits. Defaults to the current billing period if no dates are specified. Use this in Cursor/MCP chat when the human asks how many mailbox.bot credits are left; answer with the prepaid balance and explain that only the signed-in human can add funds.
list_facility_conversations(limit, offset)- List your Austin HQ conversation with its unread message count and last message preview. Facility routing is automatic.
list_inbound_forwarding_addresses- List the renter’s private inbound forwarding aliases on forward.mailbox.bot. These are the unique intake email addresses an operator, assistant, provider, or external agent can forward scans, PDFs, photos, provider notices, notes, and other context-aware documents to so mailbox.bot can build OCR-backed inbound context. Forwarding/emailing attachments here initiates OCR/extraction; this tool discovers the address and does not upload files directly into OCR. The alias is member-scoped, so live and sandbox agent keys for the same member resolve to the same intake address.
list_inbound_mail(limit, offset, status, include, category, thread_id)- List forwarded inbound mail items captured from private forwarding aliases. Default output includes compact draft_context so an LLM or external agent can reason about OCR context, reply contact candidates, deadlines, and thread linkage before generating outbound mail.
list_outbound_mail(q, limit, offset, status, test_mode, created_after, created_before)- List outbound mail jobs with status tracking. Returns mail ID, recipient, mail class, status, cost, timestamps, and failure metadata. Filter by status, created_at date range, or search recipient/address/tracking/agent notes.
list_packages(limit, since, offset, status, carrier)- List inbound mail or packages for approved real mailing address/package beta accounts with optional filters by status, carrier, and date. Returns tracking number, carrier, status, and received timestamp where available. For generally available inbound postal context, use list_inbound_mail with forwarded scans/PDFs/notes instead.
list_postal_threads(limit, offset, status, include, category)- List physical-mail threads that group inbound mail context, human review, and outbound sends. Use this to understand which inbound items and outbound documents belong to the same business workflow.
propose_mailbox_md_edit(reason, suggested_content)- Propose changes to the renter's MAILBOX.md instructions with reasoning. The renter will see your suggestion in their dashboard and can accept, reject, or modify it. Use this when you observe patterns that could be codified into standing instructions. Required: suggested_content, reason.
register_expected(carrier, auto_action, description, expected_by, tracking_number, auto_action_params)- Pre-register an expected inbound shipment so it is auto-matched when it arrives at the facility. Optionally specify an action to auto-execute on arrival (e.g. forward immediately, scan on receipt).
request_action(action, priority, package_id, parameters)- Request a physical action on a package at the facility. Actions include forwarding to another address, shredding, scanning documents, holding for pickup, disposing, returning to sender, photographing, opening and scanning contents, or recording a video. Some actions (shred, dispose) are irreversible. Required: package_id, action.
request_scan(scan_type, package_id)- Request document scanning (OCR + structured data extraction) for a package. The facility will scan the document and extract text, addresses, dates, and other structured data. Results are available via get_scan_results after processing. Required: package_id.
send_facility_message(body, package_id, action_request_id)- Send a message to the Austin HQ operator managing your mailbox. Facility routing is automatic. Messages appear in the shared conversation visible to you, the renter, and the facility. Optionally link the message to a specific package or action request for context. Required: body.
send_outbound_mail(color, duplex, dry_run, metadata, mail_class, package_id, page_count, return_zip, agent_notes, return_city, return_name, return_line1, return_line2, return_state, recipient_zip, max_cost_cents, recipient_city, recipient_name, return_company, document_base64, recipient_line1, recipient_line2, recipient_state, document_filename, recipient_company, recipient_country, requires_approval, inbound_capture_id, mailbox_md_version, postal_mail_thread_id)- Submit a document for printing and postal mailing by the facility. Supported formats: PDF, DOCX, JPG, PNG, TXT, CSV. The document is stored securely and printed by the facility operator. Published default pricing is $2.50 handling + $0.30/page B&W printing + carrier postage/rate; color is an additional $0.40/page, so color pages are $0.70/page before handling and postage. Plan/account overrides can apply; dry_run and cost_breakdown are authoritative. IMPORTANT: With a production key (sk_agent_), this spends the human member's prepaid mailbox.bot credits. Agents never access Stripe, card data, or Auto-Fill settings. If the signed-in human separately enabled Agent Auto-Fill, an eligible live order may trigger a bounded server-managed reload. Use dry_run=true to preview required credits before committing, or requires_approval=true to defer the credit debit until human approval. Sandbox keys (sk_agent_test_) skip credit debits and facility fulfillment. Responses include human_review with send-to address, return address, mail class, document details, preview URL when available, cost, safeguards, and next step; show that to the human before live funded sends. tracking_number is required for priority, certified, certified_return_receipt, FedEx, and UPS mail classes. USPS first_class does not include carrier tracking by default; tracking_number may be null. Optionally attach the outbound mail to inbound context with inbound_capture_id and postal_mail_thread_id so lineage stays explicit. Explicit Business mail runs are REST-only. Required: document_base64, mailbox_md_version, recipient_line1, recipient_city, recipient_state, recipient_zip.
update_action(action_id, agent_data, agent_notes, decision_context, mailbox_md_version, respond_to_clarification)- Push notes, structured data, or a clarification response to an existing action request. Use this to add agent reasoning, attach extracted data, or respond when the facility asks for clarification. Requires mailbox_md_version to prove your MAILBOX.md instructions are in sync. Required: action_id, mailbox_md_version.
update_webhook(enabled, event_types, webhook_url)- Configure webhook endpoint URL and event subscriptions for real-time notifications. Events include package.received, package.status_changed, action.completed, mail.status_changed, and more. The endpoint must use HTTPS and respond with 2xx within 10 seconds.
Last successful function declaration observed on . Source: https://mailbox.bot/api/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://mailbox.bot/api/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| Latest published version | 1.0.1 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-05-27 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-05-27 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| mcp tools declared | 30 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | mailbox.bot | |
| mcp endpoint status | ok | The server listed 30 functions when asked. | as of probe | mailbox.bot |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json