send0

Registre officiel Productivité

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

Que pouvez-vous faire avec send0 ?

  • An address in one call. name@send0.email is ready in milliseconds (custom domains are coming). Plus-addressing (bot+task42@) tags mail without more inboxes.
  • Wait, don't poll. One long-poll call blocks until the email you need arrives and returns the one-time code and verification link.
  • Clean, structured messages. The new reply text without quoted history, SPF/DKIM/DMARC verdicts, and a prompt-injection flag on every inbound message.
  • Real threads. Outbound mail carries Message-ID, In-Reply-To and References, so conversations stay threaded for your agent and for the person on the other side.
  • Webhooks and live events on every plan. Signed webhooks (send0-signature, Stripe-style HMAC) with automatic retries and manual redelivery, plus a Server-Sent Events stream.
  • Built for agents, safe by default. Inbox-scoped API keys, human approval for outgoing mail, reply-only sending on the free tier, automatic suppression of bounces and complaints, and sending that pauses itself when complaint or bounce rates spike.
  • MCP server. Plug inboxes into Claude, Cursor, VS Code or any MCP client, locally or at https://api.send0.dev/mcp.
  • Agent framework tools. The same tools for the Vercel AI SDK, LangChain.js and LangChain for Python, with errors returned to the model and optional approval before sending.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http send0 'https://api.send0.dev/mcp' --header 'Authorization: <Your send0 API key as a Bearer token>' --header 'x-send0-inbox: <Default inbox (ibx_…) for tools that take an inbox_id>'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "send0": {
            "type": "http",
            "url": "https://api.send0.dev/mcp",
            "headers": {
                "Authorization": "<Your send0 API key as a Bearer token>",
                "x-send0-inbox": "<Default inbox (ibx_…) for tools that take an inbox_id>"
            }
        }
    }
}
NPM package @send0/mcp
Claude Code
claude mcp add send0 -e 'SEND0_API_KEY=<your send0_api_key>' -e 'SEND0_INBOX_ID=<SEND0_INBOX_ID>' -e 'SEND0_BASE_URL=https://api.send0.dev' -- npx -y @send0/mcp@0.2.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "send0": {
            "command": "npx",
            "args": [
                "-y",
                "@send0/mcp@0.2.1"
            ],
            "env": {
                "SEND0_API_KEY": "<your send0_api_key>",
                "SEND0_INBOX_ID": "<SEND0_INBOX_ID>",
                "SEND0_BASE_URL": "https://api.send0.dev"
            }
        }
    }
}

Variables d'environnement

  • SEND0_API_KEY obligatoire secret send0 API key (s0_live_…), from https://app.send0.dev
  • SEND0_INBOX_ID Default inbox (ibx_…) for tools that take an inbox_id
  • SEND0_BASE_URL API base URL, for a self-hosted send0

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. send0
  2. Features
  3. Use it
  4. How it works
  5. Repository
  6. Development
  7. Self-hosting
  8. Contributing
  9. License

send0

Give any agent an email address in one API call.

Open-source email inboxes for AI agents. Send, receive, thread and wait, with webhooks on every plan.

Docs · Quickstart · OpenAPI · Dashboard


Most email APIs are built to send receipts. send0 starts from the inbox: each agent gets a real address that receives, sends and holds threaded conversations, and every message arrives parsed, with the parts an agent needs already pulled out.

import { Send0 } from "@send0/sdk";

const send0 = new Send0(process.env.SEND0_API_KEY);

const inbox = await send0.inboxes.create({ name: "signup-agent" });
// → signup-agent@send0.email

await browser.fill("#email", inbox.address);
await browser.click("Create account");

// Blocks until the email lands, then returns it with the code already extracted.
const msg = await send0.inboxes.wait(inbox.id, { from: "*@github.com", timeout: 60 });
msg?.extracted?.otp; // "482913"

await send0.messages.reply(msg.id, { text: "Thanks, confirmed." }); // threads in Gmail and Outlook

Features

  • An address in one call. name@send0.email is ready in milliseconds (custom domains are coming). Plus-addressing (bot+task42@) tags mail without more inboxes.
  • Wait, don't poll. One long-poll call blocks until the email you need arrives and returns the one-time code and verification link.
  • Clean, structured messages. The new reply text without quoted history, SPF/DKIM/DMARC verdicts, and a prompt-injection flag on every inbound message.
  • Real threads. Outbound mail carries Message-ID, In-Reply-To and References, so conversations stay threaded for your agent and for the person on the other side.
  • Webhooks and live events on every plan. Signed webhooks (send0-signature, Stripe-style HMAC) with automatic retries and manual redelivery, plus a Server-Sent Events stream.
  • Built for agents, safe by default. Inbox-scoped API keys, human approval for outgoing mail, reply-only sending on the free tier, automatic suppression of bounces and complaints, and sending that pauses itself when complaint or bounce rates spike.
  • MCP server. Plug inboxes into Claude, Cursor, VS Code or any MCP client, locally or at https://api.send0.dev/mcp.
  • Agent framework tools. The same tools for the Vercel AI SDK, LangChain.js and LangChain for Python, with errors returned to the model and optional approval before sending.
  • A dashboard for the humans. Read threads, approve drafts, manage keys, webhooks and teammates at app.send0.dev.

Use it

REST APIhttps://api.send0.dev, Bearer API key, OpenAPI 3.1 spec
TypeScriptnpm install @send0/sdk, see packages/sdk
Pythonpip install send0, see packages/sdk-python
MCPclaude mcp add --transport http send0 https://api.send0.dev/mcp --header "Authorization: Bearer s0_live_…", or npx -y @send0/mcp locally
Vercel AI SDKnpm install @send0/ai-sdk ai zod, see packages/ai-sdk
LangChain.jsnpm install @send0/langchain @langchain/core zod, see packages/langchain
LangChain Pythonpip install langchain-send0, see packages/langchain-python

The same flow with cURL

curl https://api.send0.dev/v1/inboxes \
  -H "Authorization: Bearer $SEND0_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{ "name": "research-agent" }'

curl "https://api.send0.dev/v1/inboxes/ibx_…/messages/wait?from=*@acme.dev&timeout=60" \
  -H "Authorization: Bearer $SEND0_API_KEY"

curl https://api.send0.dev/v1/messages/msg_…/reply \
  -H "Authorization: Bearer $SEND0_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{ "text": "Thanks, confirmed." }'

Full guides and the API reference are at send0.dev/docs.

How it works

Inbound   sender ─▶ MX (send0.email) ─▶ accept/refuse during SMTP ─▶ store raw .eml
          ─▶ parse, extract code + links, check SPF/DKIM/DMARC, flag injection
          ─▶ thread ─▶ webhook + live stream + any waiting wait() call

Outbound  your agent ─▶ policy checks (reply-only, suppression, daily cap)
          ─▶ MIME with threading headers, DKIM-signed ─▶ Amazon SES
          ─▶ delivered / bounced / complained events ─▶ webhooks

The hosted service runs on Cloudflare Workers (API, inbound mail, Durable Objects for real-time, Queues), Postgres (Neon) and Amazon SES. Everything is TypeScript; the HTTP layer is Hono, so the same app can run on Node.

Repository

apps/api            REST API, webhooks, real-time, remote MCP       (api.send0.dev)
apps/inbound        Inbound mail Worker: SMTP accept/refuse → store → ingest
apps/web            Dashboard SPA and its Worker                    (app.send0.dev)
apps/docs           Documentation                                   (send0.dev/docs)
apps/www            Marketing site                                  (send0.dev)
packages/core       Parsing, threading, extraction, safety: pure TypeScript
packages/db         Postgres schema and migrations (Drizzle)
packages/pipeline   Inbound ingest and event fan-out
packages/adapters   Blob storage and mail transport behind interfaces
packages/auth       Dashboard accounts, sessions, workspaces, roles
packages/sdk        @send0/sdk, the TypeScript SDK (MIT)
packages/sdk-python send0, the Python SDK (MIT)
packages/mcp        @send0/mcp, the MCP server (MIT)
packages/ai-sdk     @send0/ai-sdk, Vercel AI SDK tools (MIT)
packages/langchain  @send0/langchain, LangChain.js tools (MIT)
packages/langchain-python langchain-send0, LangChain for Python (MIT)
fixtures/emails     Real-world .eml corpus used by the tests

Development

Requires Node 22, pnpm 9, and uv for the Python SDK.

pnpm install
pnpm verify                            # format check, lint, typecheck, tests
pnpm --filter @send0/web dev:local     # the whole product locally at http://localhost:5199

No accounts or services needed: tests and the local server use an in-memory Postgres and record outgoing email instead of sending it. See CONTRIBUTING.md to get started and CLAUDE.md for the architecture and conventions.

Self-hosting

Run the same API, SDKs, MCP server and dashboard on your own domain. Two editions, from v0.2.1:

  • Docker Compose: Postgres, the send0 server (with its own SMTP server for inbound mail) and Caddy on one machine. Sends through any SMTP relay or Amazon SES. Image: ghcr.io/send0-dev/send0. Files in selfhost/.
  • Cloudflare: one Worker on your account, with Email Routing, R2, Queues, a Durable Object, your Postgres through Hyperdrive, and Amazon SES. Deploy to Cloudflare.

The guide: send0.dev/docs/self-hosting.

Contributing

Issues and pull requests are welcome. Please read CONTRIBUTING.md; contributors sign a CLA once, through a bot on the first pull request. For security issues, see SECURITY.md.

License

Copyright © 2026 Kunal Dholiya.

Questions fréquentes

Qu'est-ce que send0 ?

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

Comment installer send0 ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http send0 'https://api.send0.dev/mcp' --header 'Authorization: <Your send0 API key as a Bearer token>' --header 'x-send0-inbox: <Default inbox (ibx_…) for tools that take an inbox_id>'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour send0 ?

Oui. Il attend SEND0_API_KEY, Authorization, x-send0-inbox, à renseigner dans sa configuration.

send0 est-il open source ?

Oui. Son code est sur GitHub sous licence AGPL-3.0.

Qui maintient send0 ?

Il est publié par send0-dev. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.