Back to Directory/Communication

Dead Simple Email

Give an agent its own inbox: send, receive, and pull signup codes from real email.

CommunicationPythonv0.2.4

Dead Simple Email

Email infrastructure for AI agents. One call gives an agent a real, deliverable inbox — no SMTP credentials, no DNS, no dashboard.

deadsimple.email · Docs · API reference

Sign up with no human in the loop

An agent can provision its own account, API key and live inbox in a single unauthenticated call:

curl -X POST https://api.deadsimple.email/v1/auth/agent-signup

That returns a trial account (1 inbox, 10 sends/hour, 25/day). Claim it later with a verified email to move to the Free plan, keeping the same key and inboxes.

MCP server

Listed in the official MCP Registry as email.deadsimple/dead-simple-email, and on Smithery and Glama.

Remote (recommended) — nothing to install:

{
  "mcpServers": {
    "dead-simple-email": {
      "type": "http",
      "url": "https://api.deadsimple.email/mcp",
      "headers": { "Authorization": "Bearer dse_your_api_key" }
    }
  }
}

Local (stdio):

{
  "mcpServers": {
    "deadsimple": {
      "command": "python",
      "args": ["-m", "deadsimple.mcp"],
      "env": { "DSE_API_KEY": "dse_your_api_key" }
    }
  }
}

14 tools: create_inbox, list_inboxes, delete_inbox, send_email, read_messages, read_message, reply_to_message, forward_message, wait_for_email, get_verification_code, get_verification_link, list_threads, read_thread, get_usage.

The one agents reach for most is get_verification_code — it pulls the OTP or magic link out of the newest inbound message, so an agent can sign itself up for a third-party service or clear a 2FA prompt without ever parsing an email body.

SDKs

LanguagePackageSource
Pythondeadsimple-emailpython/
TypeScriptdeadsimple-emailnode/
pip install deadsimple-email
npm install @deadsimple/email
from deadsimple import DeadSimple

dse = DeadSimple("dse_your_api_key")
inbox = dse.inboxes.create(display_name="Support Bot")
dse.messages.send(inbox.inbox_id, to=["someone@example.com"],
                  subject="Hello", text_body="Sent by an agent.")

Framework integrations for LangChain, CrewAI, LlamaIndex, AutoGen and OpenAI Agents live in python/src/deadsimple/integrations/.

Repository layout

PathWhat
python/Python SDK + MCP server
node/TypeScript SDK
skills/Agent skill files for Claude Code, Cursor, Windsurf
mcp/server.json manifest for the official MCP Registry

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx deadsimple-email

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "email-deadsimple-dead-simple-email": {
      "command": "uvx",
      "args": [
        "deadsimple-email"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

deadsimple-emailpypi

Compatible MCP Clients

Dead Simple Email works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More