EmptyInbox

io.github.cnohallPublished by GitHub account cnohallv1.5.0Updated Oct 24, 2026

Zero-config disposable email inboxes for AI agents: create, read mail, await verify codes.

Overview

AI-generated overview

Creates disposable email inboxes and reads incoming mail, so an assistant can complete signup and OTP verification flows on its own.

What you can do
  • Create and list disposable inboxes, and make one permanent so it keeps receiving mail
  • List and read received messages with the extracted verification code, action links and text preview
  • Block until an email arrives, returning the extracted code for signup or OTP flows
  • Check account credits, list quota bundles and prices, and report issues to the team
  • Quote and confirm Bitcoin payments for extra quota
When to use it
Useful when an assistant has to sign up for a service or pass an email verification step and needs a throwaway address plus the code that arrives. Also handy for keeping a permanent inbox for password resets.
Requirements
Runs locally via npx, so Node.js is needed. No account setup is required: the first tool call that needs one auto-registers a free account and saves the key to a file in the home directory. An existing key can be supplied through the EMPTYINBOX_API_KEY environment variable. Network access to the EmptyInbox service is required.
Before you install
The server writes an API key to a file in the user's home directory when it auto-registers. Extra quota is bought with Bitcoin: buy_quota returns a payment address and BIP21 URI, and paying spends real funds, so the user should approve any purchase. Inboxes expire after 30 days unless kept, and keeping one costs credits. Messages and account activity go to the EmptyInbox service.

Installation

In SourceWeft

  1. Open EmptyInbox in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

emptyinbox-mcp

MCP server for EmptyInbox — create disposable email inboxes and read messages from AI agents.

[npm]

Listed in the official MCP Registry as io.github.cnohall/emptyinbox.

Setup

Claude Code:

claude mcp add emptyinbox -- npx -y emptyinbox-mcp@latest

Any other MCP client — add to its config:

json
{  "mcpServers": {    "emptyinbox": {      "command": "npx",      "args": ["-y", "emptyinbox-mcp@latest"]    }  }}

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

json
{  "mcpServers": {    "emptyinbox": {      "command": "npx",      "args": ["-y", "emptyinbox-mcp@latest"],      "env": {        "EMPTYINBOX_API_KEY": "your_api_key_here"      }    }  }}

Get an API key at https://emptyinbox.me/settings.html

Tools

ToolDescription
create_inboxCreate a new email address; it expires after 30 days unless kept
list_inboxesList all inboxes on your account
list_messagesList received messages, each with its extracted code, action link and text preview
get_messageGet one message parsed (code, links, plain text), or format="text" for a flat rendering
wait_for_messageBlock until an email arrives — perfect for signup/OTP flows; returns the extracted code with it
get_quotaCredits remaining on the account
list_bundlesList quota bundles and prices
buy_quotaQuote a Bitcoin payment; returns a pay_url for the user plus address, amount and BIP21 URI
check_paymentCheck whether a payment landed and quota was credited
keep_inboxMake an inbox permanent (30 credits) so it keeps receiving mail, e.g. password resets
report_issueSend 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/link

Payment

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:

  1. the agent shows its user the bundles and the user picks one
  2. buy_quota returns a pay_url — a page with a QR code, the exact amount and live status — plus the raw address, amount and BIP21 URI
  3. the user pays from any Bitcoin wallet (or an agent with its own wallet pays the BIP21 URI)
  4. check_payment with wait_seconds confirms 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

Source: mcp/README.md at commit 347ee31

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

3
  1. v1.5.0LatestOct 8, 2026
  2. v1.4.0Oct 8, 2026
  3. v1.3.0Sep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.