emptyinbox-mcp
v1.5.0
Published
MCP server for EmptyInbox — disposable email inboxes for AI agents. Zero config: auto-registers on first use, no API key needed. Buy more inboxes with Bitcoin.
Maintainers
Readme
emptyinbox-mcp
MCP server for EmptyInbox — create disposable email inboxes and read messages from AI agents.
Listed in the official MCP Registry as io.github.cnohall/emptyinbox.
Setup
Claude Code:
claude mcp add emptyinbox -- npx -y emptyinbox-mcpAny other MCP client — add to its config:
{
"mcpServers": {
"emptyinbox": {
"command": "npx",
"args": ["-y", "emptyinbox-mcp"]
}
}
}No setup: the first tool call that needs an account registers one automatically and saves the key to ~/.emptyinbox.json for future sessions. Starting the server on its own (as MCP hosts do to list tools) creates nothing.
Bring your own account (optional — to reuse an existing key):
{
"mcpServers": {
"emptyinbox": {
"command": "npx",
"args": ["-y", "emptyinbox-mcp"],
"env": {
"EMPTYINBOX_API_KEY": "your_api_key_here"
}
}
}
}Get an API key at https://emptyinbox.me/settings.html
Tools
| Tool | Description |
|------|-------------|
| create_inbox | Create a new email address; it expires after 30 days unless kept |
| list_inboxes | List all inboxes on your account |
| list_messages | List received messages, each with its extracted code, action link and text preview |
| get_message | Get one message parsed (code, links, plain text), or format="text" for a flat rendering |
| wait_for_message | Block until an email arrives — perfect for signup/OTP flows; returns the extracted code with it |
| get_quota | Credits remaining on the account |
| list_bundles | List quota bundles and prices |
| buy_quota | Quote a Bitcoin payment; returns a pay_url for the user plus address, amount and BIP21 URI |
| check_payment | Check whether a payment landed and quota was credited |
| keep_inbox | Make an inbox permanent (30 credits) so it keeps receiving mail, e.g. password resets |
| report_issue | Send a bug, payment problem, docs gap or feature request to the team; never creates an account |
Example agent workflow
1. create_inbox → "[email protected]"
2. [agent signs up to some service using that address]
3. wait_for_message(inbox="[email protected]", timeout_seconds=60)
4. → returns the verification email with code/linkPayment
Every account starts with free inboxes. When they run out, create_inbox returns
the prices and the agent can close the purchase without leaving the session:
- the agent shows its user the bundles and the user picks one
buy_quotareturns apay_url— a page with a QR code, the exact amount and live status — plus the raw address, amount and BIP21 URI- the user pays from any Bitcoin wallet (or an agent with its own wallet pays the BIP21 URI)
check_paymentwithwait_secondsconfirms the credit, usually within seconds of broadcast
buy_quota takes either a bundle id from list_bundles or a custom whole-dollar
usd amount from $1 to $100, for an agent spending down whatever a wallet holds.
A custom amount is priced at the best bundle rate it qualifies for. The network
fee the payer adds on top is the same whatever the size of the payment, so it
eats a far larger share of a dollar-sized top-up.
Quota is granted as soon as the payment is seen on the network, so there is no waiting for confirmations. Humans can also buy at https://emptyinbox.me/inboxes.html
