Human Mailbox MCP
An MCP server that provides AI agents with a physical mailbox service in Germany. It allows agents to receive, scan, forward, and send physical mail, manage gift card codes, and handle parcels through a human operator, bridging the gap between digital agents and the physical world.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://humanmailbox.com/mcpWhat you can do with it
- Receive and scan physical mail from German authorities
- Forward letters and parcels to any address
- Digitize and store gift card codes from mail
- Send physical letters and documents
Source and maintenance
Protocol and capabilities
- Server
- humanmailbox 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 32 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
32 advertised
register_mailbox — Register a mailbox
Create your own mailbox at a physical street address in Germany. Returns an API key (shown once) and a mailbox code HM-XXXXX that must be written on every envelope. operator_* is the responsible human or company (the contract partner). No human? Leave operator_* out: the mailbox runs on its own with limits (250 € in per month, letters only are forwarded, no parcels). address_name = the name on your mail (yours, an artist or made-up name; not a company, brand, authority or famous person). Read https://humanmailbox.com/legal/terms first.
{
"type": "object",
"required": [
"agent_name",
"accept_terms"
],
"properties": {
"purpose": {
"type": "string",
"description": "What you will receive mail for."
},
"found_via": {
"type": "string",
"description": "Optional: where you found Human Mailbox (e.g. mcp_registry, smithery, glama, pulsemcp, mcp_so, x402_bazaar, x402scan, search_engine, llms_txt, github, hacker_news, reddit, x, word_of_mouth, other)."
},
"agent_name": {
"type": "string"
},
"agent_model": {
"type": "string"
},
"open_policy": {
"enum": [
"standard",
"same_day",
"never"
],
"type": "string",
"description": "standard = open + scan within 3 business days (included), same_day = on arrival day (+2 €), never = keep sealed."
},
"webhook_url": {
"type": "string",
"description": "https URL that gets events (item.received, quote.ready ...)."
},
"accept_terms": {
"type": "boolean",
"const": true
},
"address_name": {
"type": "string",
"description": "Name on your mail (2–60 chars), e.g. your own or an artist name. Default: agent_name when there is no operator."
},
"operator_name": {
"type": "string",
"description": "Responsible human or company. Optional: leave out (with operator_email) for a mailbox without a human, with limits."
},
"operator_type": {
"enum": [
"individual",
"company"
],
"type": "string"
},
"operator_email": {
"type": "string",
"format": "email"
},
"operator_country": {
"type": "string"
}
}
}{
"openWorldHint": true
}start_demo — Try it: demo mailbox
Free demo mailbox, no registration: play money (€60 + letter credits), a scanned sample letter and a sealed sample parcel, a sample gift card code. A simulated human handles your orders about 20 seconds later. Returns an api_key for all other tools. Deleted after 7 days; nothing is shipped.
{
"type": "object",
"properties": {
"found_via": {
"type": "string"
},
"agent_name": {
"type": "string"
},
"agent_model": {
"type": "string"
}
}
}express_interest — Tell us you are interested
No account needed. Not ready to register, or need something we do not offer yet (another country, a feature)? Leave a note: kind (agent | human), name, email (optional), country_wanted, use_case, found_via. We tell you when it is available.
{
"type": "object",
"properties": {
"kind": {
"enum": [
"agent",
"human"
],
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"use_case": {
"type": "string"
},
"found_via": {
"type": "string"
},
"country_wanted": {
"type": "string"
}
}
}get_prices — Prices
Prices in EUR: mailbox 15 € per 30 days (3 letters included), letter 3 € (open + scan), parcel 9 €, bundles, same-day, forwarding, all 8 services (send letters, vouchers, purchases, digitizing, returns), payment methods.
{
"type": "object",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": false
}get_account — My account
Your account, balance, address and counts.
{
"type": "object",
"required": [],
"properties": {
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}get_address — My postal address
The street address to put on letters and parcels, with your mailbox code in the first line. For registrations that need a first and last name, style "person" gives your operator's name with "c/o Human Mailbox HM-…" in the next line (never invent a name).
{
"type": "object",
"required": [],
"properties": {
"style": {
"enum": [
"company",
"person"
],
"type": "string",
"description": "company (default) or person."
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}buy_bundle — Prepay letters
Buy a bundle of letter credits (letters_1 3 €, letters_10 25 €, letters_100 200 €) or same-day credits (same_day_10, same_day_100). Every arriving letter uses 1 credit, a parcel 3. Paid from balance or inline with x402.
{
"type": "object",
"required": [
"bundle"
],
"properties": {
"bundle": {
"enum": [
"letters_1",
"letters_10",
"letters_100",
"same_day_10",
"same_day_100"
],
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}pay_item — Pay for a waiting item
An item that arrived without credits or balance waits unopened (payment_status unpaid). Pay it here (credits, balance or x402).
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}announce_shipment — Announce a shipment
Tell the human that something is on its way (tracking number helps). To have something done as soon as it arrives, call request_action with the returned shipment_id.
{
"type": "object",
"required": [],
"properties": {
"sender": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
},
"carrier": {
"type": "string"
},
"tracking": {
"type": "string"
},
"open_mode": {
"enum": [
"standard",
"same_day",
"never"
],
"type": "string"
},
"description": {
"type": "string"
},
"expected_at": {
"type": "string"
},
"instructions": {
"type": "string"
}
}
}list_shipments — Announced shipments
Your announced shipments.
{
"type": "object",
"required": [],
"properties": {
"status": {
"enum": [
"announced",
"arrived",
"cancelled"
],
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}list_items — Mail that arrived
Everything that arrived for you, newest first, with photo links.
{
"type": "object",
"required": [],
"properties": {
"status": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}get_item — Look at an item
Details of one arrived item; photos and scans are returned as images you can see.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}request_action — Order an action
Ask the human to do something with your mail, documents or parcels. scan = open + scan (included; same_day: true = today, +2 €). forward = 3 € (letter) / 5 € (parcel) handling + postage (express: +5 €). return. send_letter = we print and post a letter you give as text or pdf_base64 (4 € + postage; registered: einschreiben…). ship_out = returns/shipping for goods here with your label_pdf_base64 or an address (20 € + postage). digitize = receipts, QR codes, labels, serial numbers of an item as photo/PDF/JSON (15 €, say what in note). buy_voucher = we buy a permitted gift card (product, value_eur ≤ 100; face value + 10 %, min 5 €; quoted first, code goes to your vault). buy_item = we buy something only sold locally / by post (what, where, max_price_eur; price + 10 %, min 15 €; quoted first). courier, dispose, custom. Fixed parts are paid at once (balance or x402); quoted parts wait for a price (then accept_quote).
{
"type": "object",
"required": [
"action"
],
"properties": {
"note": {
"type": "string"
},
"shop": {
"type": "string"
},
"text": {
"type": "string",
"description": "send_letter: the letter as plain text (printed as is)."
},
"what": {
"type": "string",
"description": "buy_item: what to buy."
},
"where": {
"type": "string",
"description": "buy_item: shop or place, if known."
},
"action": {
"enum": [
"scan",
"forward",
"return",
"send_letter",
"ship_out",
"digitize",
"buy_voucher",
"buy_item",
"courier",
"dispose",
"custom"
],
"type": "string"
},
"output": {
"enum": [
"photo",
"pdf",
"json"
],
"type": "string",
"description": "digitize: what you want back."
},
"sender": {
"type": "object",
"required": [
"name",
"street",
"postal_code",
"city",
"country"
],
"properties": {
"city": {
"type": "string"
},
"name": {
"type": "string"
},
"extra": {
"type": "string"
},
"phone": {
"type": "string"
},
"street": {
"type": "string"
},
"company": {
"type": "string"
},
"country": {
"type": "string"
},
"postal_code": {
"type": "string"
}
},
"description": "Optional return address printed on the forwarded item. Must be you/your operator or their company."
},
"address": {
"type": "object",
"required": [
"name",
"street",
"postal_code",
"city",
"country"
],
"properties": {
"city": {
"type": "string"
},
"name": {
"type": "string"
},
"extra": {
"type": "string"
},
"phone": {
"type": "string"
},
"street": {
"type": "string"
},
"company": {
"type": "string"
},
"country": {
"type": "string"
},
"postal_code": {
"type": "string"
}
},
"description": "Destination for forward / courier."
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
},
"carrier": {
"type": "string"
},
"express": {
"type": "boolean",
"description": "forward only: dispatch the same day (+5 €)."
},
"item_id": {
"type": "string"
},
"product": {
"type": "string",
"description": "buy_voucher: which gift card / voucher."
},
"same_day": {
"type": "boolean",
"description": "scan only: open + scan today (+2 € or 1 same-day credit)."
},
"reference": {
"type": "string",
"description": "ship_out: order or return number."
},
"value_eur": {
"type": "number",
"description": "buy_voucher: face value (max 100)."
},
"pdf_base64": {
"type": "string",
"description": "send_letter: the letter as an A4 PDF, base64 (max 5 MB, b/w, up to 10 pages)."
},
"registered": {
"enum": [
"none",
"einschreiben_einwurf",
"einschreiben",
"einschreiben_rueckschein"
],
"type": "string",
"description": "send_letter: registered mail (fee at cost)."
},
"shipment_id": {
"type": "string",
"description": "Pre-book for an announced shipment that has not arrived yet."
},
"max_price_eur": {
"type": "number",
"description": "buy_item: the most the item itself may cost (max 500)."
},
"max_postage_eur": {
"type": "number",
"description": "forward/return: postage up to this amount is charged automatically."
},
"label_pdf_base64": {
"type": "string",
"description": "ship_out: a prepaid shipping / return label as PDF, base64."
}
}
}{
"openWorldHint": true,
"destructiveHint": false
}list_requests — My orders
Your orders and their status.
{
"type": "object",
"required": [],
"properties": {
"status": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}get_request — One order
One order with result notes, tracking and files.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}accept_quote — Accept a quote
Accept the quoted price of an order (status quote_ready) and pay it.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}cancel_request — Cancel an order
Cancel an order that has not started; paid money goes back to your balance.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}list_codes — Code vault
Gift card / voucher codes that arrived by mail. Waiting codes show only label and last characters; revealed codes include the code.
{
"type": "object",
"required": [],
"properties": {
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}reveal_codes — Reveal codes
Reveal waiting codes (1 € per code, from balance or x402). Give ids, or nothing to reveal all waiting codes. Codes not retrieved within 24 months expire.
{
"type": "object",
"required": [],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}request_invoice — Request an invoice
Only if you need an invoice: creates one (free, no VAT under § 19 UStG) for your payments that have none yet, or for the given payment_ids, and emails it (default: your operator email). Nothing is invoiced unless you call this. billing.name defaults to the operator name; over €250 the full address is required.
{
"type": "object",
"required": [],
"properties": {
"email": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
},
"billing": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"vat_id": {
"type": "string"
},
"company": {
"type": "string"
},
"country": {
"type": "string"
},
"postal_code": {
"type": "string"
}
}
},
"payment_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}list_invoices — Invoices
Invoices you requested (with full text), plus payments that have no invoice yet.
{
"type": "object",
"required": [],
"properties": {
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}contact_human — Ask the human (inquiry)
Works without an account. For anything that is not a standard order: topic special_request (a job not in the price list: say what, where, when, budget_eur), is_it_possible (ask before you send mail for it), payment_method (your payment method is missing: give method_wanted), feature_request, problem, question, other. A human answers, usually within one business day. Without api_key you get a ticket: read the answer with check_inquiry.
{
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"description": "What you need or want to know."
},
"name": {
"type": "string"
},
"email": {
"type": "string",
"description": "Optional: where the answer should go."
},
"topic": {
"enum": [
"special_request",
"is_it_possible",
"payment_method",
"feature_request",
"problem",
"question",
"other"
],
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
},
"subject": {
"type": "string"
},
"deadline": {
"type": "string"
},
"location": {
"type": "string"
},
"budget_eur": {
"type": "number"
},
"method_wanted": {
"type": "string",
"description": "topic payment_method: the method you want (e.g. lightning, usdc-solana, sepa, card)."
}
}
}check_inquiry — Answer to an inquiry
Status and answers of an inquiry from contact_human. Give its id and the ticket (or use your api_key).
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"ticket": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}get_balance — Balance
Your balance and recent transactions.
{
"type": "object",
"required": [],
"properties": {
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}get_summary — Costs and orders overview
This month: costs by kind, budget used, subscription, open orders, mail and shipments.
{
"type": "object",
"required": [],
"properties": {
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}get_subscription — Mailbox subscription
The mailbox costs 15 € per 30 days (3 letters opened and scanned included) and renews from your balance: status and paid_until.
{
"type": "object",
"required": [],
"properties": {
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}pay_subscription — Prepay the mailbox
Prepay 1–12 mailbox months (15 € each) from your balance or with x402.
{
"type": "object",
"required": [],
"properties": {
"months": {
"type": "integer",
"maximum": 12,
"minimum": 1
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}update_account — Change account settings
Set budget_eur_month (spending limit for orders, null = none), webhook_url, open_policy (standard | same_day | never), address_name (name on your mail), auto_reveal_codes, or name your human operator (operator_name + operator_email).
{
"type": "object",
"required": [],
"properties": {
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
},
"purpose": {
"type": "string"
},
"open_policy": {
"enum": [
"standard",
"same_day",
"never"
],
"type": "string"
},
"webhook_url": {
"type": "string"
},
"address_name": {
"type": "string"
},
"operator_name": {
"type": "string"
},
"operator_email": {
"type": "string"
},
"budget_eur_month": {
"type": [
"number",
"null"
]
},
"auto_reveal_codes": {
"type": "boolean"
}
}
}top_up — Top up balance
Add money (EUR): method x402 (pay now in USDC at the current rate), btc (get a Bitcoin address + amount) or paypal (get a link for your human operator). Give amount_eur, or bundle to buy that bundle as soon as it is paid.
{
"type": "object",
"required": [
"method"
],
"properties": {
"bundle": {
"type": "string"
},
"method": {
"enum": [
"x402",
"btc",
"paypal"
],
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
},
"amount_eur": {
"type": "number",
"maximum": 1000,
"minimum": 1
}
}
}check_top_up — Check a top-up
Re-check whether a Bitcoin or PayPal top-up was paid.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}send_message — Message the human
Write to the human who handles your mail.
{
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
},
"item_id": {
"type": "string"
},
"subject": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
}list_messages — Messages
Messages between you and the human.
{
"type": "object",
"required": [],
"properties": {
"api_key": {
"type": "string",
"description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 369 ms
- 95th percentile latency
- 369 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 369 ms · metadata changed · 32 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http human-mailbox-mcp https://humanmailbox.com/mcpCodex
codex mcp add human-mailbox-mcp --url https://humanmailbox.com/mcpCursor
{
"mcpServers": {
"human-mailbox-mcp": {
"url": "https://humanmailbox.com/mcp"
}
}
}Cline
{
"mcpServers": {
"human-mailbox-mcp": {
"type": "streamableHttp",
"url": "https://humanmailbox.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"human-mailbox-mcp": {
"type": "http",
"url": "https://humanmailbox.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http human-mailbox-mcp https://humanmailbox.com/mcpClaude Desktop
{
"mcpServers": {
"human-mailbox-mcp": {
"url": "https://humanmailbox.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"human-mailbox-mcp": {
"serverUrl": "https://humanmailbox.com/mcp"
}
}
}Let your agent find its tools
Find servers like Human Mailbox MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Human Mailbox MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.