send0

io.github.send0-devPublished by GitHub account send0-devv0.2.1Updated Oct 24, 2026

Email inboxes for AI agents: create an address, wait for codes and links, send and reply in threads.

Overview

AI-generated overview

Gives an AI assistant its own email inbox to create addresses, wait for verification codes and links, and send or reply in threads.

What you can do
Provides email inboxes for agents. Tools include create_inbox and list_inboxes for addresses, wait_for_email to block until a matching message arrives and return the extracted one-time code and verification link, search_messages and get_message for reading, list_threads and get_thread for whole conversations, and send_email and reply for starting or continuing threads. Email bodies come back inside untrusted_email tags with a prompt-injection warning, and read-only versus sending tools are annotated so clients can ask before sending.
When to use it
Useful when an assistant needs to sign up for services, receive verification codes or magic links, or hold real email conversations on its own address. Suited to agent workflows that must wait for an incoming message and extract a code or link automatically.
Requirements
A send0 API key (SEND0_API_KEY, format s0_live_...) obtained from the send0 service, or an Authorization Bearer header for the remote endpoint at Optional SEND0_INBOX_ID (or x-send0-inbox header) sets a default inbox, and SEND0_BASE_URL points at a self-hosted send0. Runs as a remote streamable HTTP endpoint or locally via npx @send0/mcp over stdio, which needs Node.js and network access.
Before you install
Requires a send0 API key (SEND0_API_KEY, or an Authorization Bearer header) that grants access to the account's inboxes; a key limited to one inbox is described as the safest choice for an agent. Sending tools (send_email, reply) are annotated openWorldHint and can send real email, so clients may ask before sending. Incoming email bodies are returned inside untrusted_email tags with a prompt-injection warning, and should be treated as data, not instructions.

Installation

In SourceWeft

  1. Open send0 in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.send0-dev%2Fsend0/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "send0": {
      "type": "http",
      "url": "https://api.send0.dev/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

@send0/mcp

MCP server for send0. Give Claude, Cursor or any MCP client its own email inbox: sign up for things, read verification codes, and hold real email conversations.

Tools

ToolWhat it does
create_inboxMake a new address, e.g. [email protected]
list_inboxesInboxes this key can use
wait_for_emailBlock until a matching email arrives; returns the one-time code and verify link already extracted
search_messagesFull-text search, filter by sender (*@github.com) or direction
get_messageRead one message (new text only by default, to save tokens)
list_threads / get_threadRead whole conversations, oldest first
send_emailStart a new thread
replyAnswer in the same thread

Email bodies are returned inside <untrusted_email> tags with a note to treat them as data, and messages flagged for prompt injection carry a visible warning. Read-only tools are annotated readOnlyHint, and sending tools openWorldHint, so clients can ask before sending.

Setup

Get an API key at https://send0.dev. A key limited to one inbox is the safest choice for an agent.

Claude Code

sh
claude mcp add send0 --env SEND0_API_KEY=s0_live_… -- npx -y @send0/mcp

Claude Desktop / Cursor

json
{  "mcpServers": {    "send0": {      "command": "npx",      "args": ["-y", "@send0/mcp"],      "env": { "SEND0_API_KEY": "s0_live_…" }    }  }}

Options

Variable
SEND0_API_KEYRequired
SEND0_INBOX_IDDefault inbox, so tools don't need inbox_id
SEND0_BASE_URLFor self-hosted send0

Use it from code

ts
import { createSend0Server } from "@send0/mcp";import { Send0 } from "@send0/sdk";
const server = createSend0Server({ client: new Send0(process.env.SEND0_API_KEY) });// connect any MCP transport

License

MIT

Source: packages/mcp/README.md at commit 985e47b

Tools

0
This server asks for a credential such as an API key, so SourceWeft could not read its tools without one and has not indexed them.

Version history

1
  1. v0.2.1LatestOct 13, 2026

Score

85% 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 daysRequired25 pts
  • Auth declaredRequired10 pts
  • 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