Koskamo

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.

Human Mailbox MCP logo, by Human MailboxVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Human Mailbox
MCP endpoint (Streamable HTTP)
https://humanmailbox.com/mcp
Vendor documentation

What 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

Vendor evidenceRegistry 1.0.0

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
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Human Mailbox gives you a physical address in Germany and a human for the mail around it (scan, send letters, parcels, vouchers, offline purchases, digitizing, returns). To try it first: start_demo (free, play money, nothing shipped). Questions or special jobs: contact_human (no account needed). Call register_mailbox once (or use an existing api_key), top up, then get_address (starts the mailbox) and write the mailbox code in the first address line. The mailbox is 15 € per 30 days with 3 letters included (charged by get_address, renews from your balance). Every letter (3 €, parcel 9 €) is opened and scanned within 3 business days; see it with list_items/get_item. Forward or do more with request_action. Prices (EUR): get_prices. Payments: balance (top_up) or x402 inline (USDC).

Tools

32 advertised

register_mailbox — Register a mailbox
Advertised by the server during the last successful anonymous check.
Open-world

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.

register_mailbox input schema
{
  "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"
    }
  }
}
register_mailbox annotations
{
  "openWorldHint": true
}
start_demo — Try it: demo mailbox
Advertised by the server during the last successful anonymous check.

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.

start_demo input schema
{
  "type": "object",
  "properties": {
    "found_via": {
      "type": "string"
    },
    "agent_name": {
      "type": "string"
    },
    "agent_model": {
      "type": "string"
    }
  }
}
express_interest — Tell us you are interested
Advertised by the server during the last successful anonymous check.

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.

express_interest input schema
{
  "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
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_prices input schema
{
  "type": "object",
  "properties": {}
}
get_prices annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_account — My account
Advertised by the server during the last successful anonymous check.
Advertised read-only

Your account, balance, address and counts.

get_account input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
    }
  }
}
get_account annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_address — My postal address
Advertised by the server during the last successful anonymous check.
Advertised read-only

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).

get_address input schema
{
  "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."
    }
  }
}
get_address annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
buy_bundle — Prepay letters
Advertised by the server during the last successful anonymous check.

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.

buy_bundle input schema
{
  "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
Advertised by the server during the last successful anonymous check.

An item that arrived without credits or balance waits unopened (payment_status unpaid). Pay it here (credits, balance or x402).

pay_item input schema
{
  "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
Advertised by the server during the last successful anonymous check.

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.

announce_shipment input schema
{
  "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
Advertised by the server during the last successful anonymous check.
Advertised read-only

Your announced shipments.

list_shipments input schema
{
  "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."
    }
  }
}
list_shipments annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
list_items — Mail that arrived
Advertised by the server during the last successful anonymous check.
Advertised read-only

Everything that arrived for you, newest first, with photo links.

list_items input schema
{
  "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."
    }
  }
}
list_items annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_item — Look at an item
Advertised by the server during the last successful anonymous check.
Advertised read-only

Details of one arrived item; photos and scans are returned as images you can see.

get_item input schema
{
  "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."
    }
  }
}
get_item annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
request_action — Order an action
Advertised by the server during the last successful anonymous check.
Open-world

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).

request_action input schema
{
  "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."
    }
  }
}
request_action annotations
{
  "openWorldHint": true,
  "destructiveHint": false
}
list_requests — My orders
Advertised by the server during the last successful anonymous check.
Advertised read-only

Your orders and their status.

list_requests input schema
{
  "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."
    }
  }
}
list_requests annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_request — One order
Advertised by the server during the last successful anonymous check.
Advertised read-only

One order with result notes, tracking and files.

get_request input schema
{
  "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."
    }
  }
}
get_request annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
accept_quote — Accept a quote
Advertised by the server during the last successful anonymous check.

Accept the quoted price of an order (status quote_ready) and pay it.

accept_quote input schema
{
  "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
Advertised by the server during the last successful anonymous check.

Cancel an order that has not started; paid money goes back to your balance.

cancel_request input schema
{
  "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
Advertised by the server during the last successful anonymous check.
Advertised read-only

Gift card / voucher codes that arrived by mail. Waiting codes show only label and last characters; revealed codes include the code.

list_codes input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
    }
  }
}
list_codes annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
reveal_codes — Reveal codes
Advertised by the server during the last successful anonymous check.

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.

reveal_codes input schema
{
  "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
Advertised by the server during the last successful anonymous check.

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.

request_invoice input schema
{
  "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
Advertised by the server during the last successful anonymous check.
Advertised read-only

Invoices you requested (with full text), plus payments that have no invoice yet.

list_invoices input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
    }
  }
}
list_invoices annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
contact_human — Ask the human (inquiry)
Advertised by the server during the last successful anonymous check.

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.

contact_human input schema
{
  "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
Advertised by the server during the last successful anonymous check.
Advertised read-only

Status and answers of an inquiry from contact_human. Give its id and the ticket (or use your api_key).

check_inquiry input schema
{
  "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."
    }
  }
}
check_inquiry annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_balance — Balance
Advertised by the server during the last successful anonymous check.
Advertised read-only

Your balance and recent transactions.

get_balance input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
    }
  }
}
get_balance annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_summary — Costs and orders overview
Advertised by the server during the last successful anonymous check.
Advertised read-only

This month: costs by kind, budget used, subscription, open orders, mail and shipments.

get_summary input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
    }
  }
}
get_summary annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_subscription — Mailbox subscription
Advertised by the server during the last successful anonymous check.
Advertised read-only

The mailbox costs 15 € per 30 days (3 letters opened and scanned included) and renews from your balance: status and paid_until.

get_subscription input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
    }
  }
}
get_subscription annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
pay_subscription — Prepay the mailbox
Advertised by the server during the last successful anonymous check.

Prepay 1–12 mailbox months (15 € each) from your balance or with x402.

pay_subscription input schema
{
  "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
Advertised by the server during the last successful anonymous check.

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).

update_account input schema
{
  "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
Advertised by the server during the last successful anonymous check.

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.

top_up input schema
{
  "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
Advertised by the server during the last successful anonymous check.
Advertised read-only

Re-check whether a Bitcoin or PayPal top-up was paid.

check_top_up input schema
{
  "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."
    }
  }
}
check_top_up annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
send_message — Message the human
Advertised by the server during the last successful anonymous check.

Write to the human who handles your mail.

send_message input schema
{
  "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
Advertised by the server during the last successful anonymous check.
Advertised read-only

Messages between you and the human.

list_messages input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Your hm_... key. Only needed if your MCP client cannot send the \"Authorization: Bearer\" header."
    }
  }
}
list_messages annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

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.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http human-mailbox-mcp https://humanmailbox.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add human-mailbox-mcp --url https://humanmailbox.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable human-mailbox-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "human-mailbox-mcp": {
      "url": "https://humanmailbox.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "human-mailbox-mcp": {
      "type": "streamableHttp",
      "url": "https://humanmailbox.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start human-mailbox-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "human-mailbox-mcp": {
      "type": "http",
      "url": "https://humanmailbox.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http human-mailbox-mcp https://humanmailbox.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "human-mailbox-mcp": {
      "url": "https://humanmailbox.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "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.

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.

Claim this listing