# Dead Simple Email

Give an agent tools to create inboxes, send and read messages, and extract verification codes. Useful for email-based sign-ups and workflows that depend on incoming mail.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: deadsimple-email
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/deadsimple-email/deadsimple-email
- Updated: 2026-10-20
- HTML: https://affpapa.org/en/nevibecode/mcp/dead-simple-email

## What it does

Dead Simple Email exposes 14 tools for mailbox and message operations. An agent can create an inbox, send or reply to mail, read threads, and wait for new messages. One tool pulls an OTP or sign-in link from the latest email, so the agent can use it without parsing the message body itself.

Claude Code can connect to the hosted server over HTTP or run the Python MCP server locally over stdio. Both routes need an API key for email access. Without a valid key, the agent cannot use the mail API.

The repository also includes Python and TypeScript SDKs. For local MCP use, the key goes in `DSE_API_KEY`, and the server can be launched with `uvx deadsimple-email`.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Remote server: `https://api.deadsimple.email/mcp`
- Environment variables: `DSE_API_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI**
```bash
claude mcp add dead-simple-email -e DSE_API_KEY=<DSE_API_KEY> -- uvx deadsimple-email
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from deadsimple-email <command>

2. **Platform CLI: remote server**
```bash
claude mcp add --transport http dead-simple-email https://api.deadsimple.email/mcp
```

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add dead-simple-email --url https://api.deadsimple.email/mcp
```

2. **Platform CLI**
```bash
codex mcp add dead-simple-email --env DSE_API_KEY=<DSE_API_KEY> -- uvx deadsimple-email
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from deadsimple-email <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "dead-simple-email": {
            "url": "https://api.deadsimple.email/mcp"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "dead-simple-email": {
            "command": "uvx",
            "args": [
                "deadsimple-email"
            ],
            "env": {
                "DSE_API_KEY": "<DSE_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from deadsimple-email <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "dead-simple-email": {
            "type": "http",
            "url": "https://api.deadsimple.email/mcp"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "dead-simple-email": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "deadsimple-email"
            ],
            "env": {
                "DSE_API_KEY": "<DSE_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from deadsimple-email <command>

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http dead-simple-email https://api.deadsimple.email/mcp
```

2. **Platform CLI**
```bash
gemini mcp add -e DSE_API_KEY=<DSE_API_KEY> dead-simple-email uvx deadsimple-email
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from deadsimple-email <command>

## When to use it
- provision an inbox for an agent
- send mail from an agent-managed inbox
- read incoming messages and reply to a thread
- pull a verification code or sign-in link from email
- wait for an email during account registration

## Example prompts
- Create a separate inbox for this test agent.
- Check the newest message and retrieve its verification code.
- Send a message with the subject “Done” and reply to the latest email.

## Similar
- [Excel MCP Server](https://affpapa.org/en/nevibecode/mcp/excel-mcp-server.md) — MCP server · ★ 4268
- [kordoc](https://affpapa.org/en/nevibecode/mcp/kordoc.md) — MCP server · ★ 2795
- [Power BI Authoring MCP Server (Local)](https://affpapa.org/en/nevibecode/mcp/power-bi-authoring-mcp-server-local.md) — MCP server · ★ 1248
- [Microsoft 365 MCP Server](https://affpapa.org/en/nevibecode/mcp/microsoft-365-mcp-server.md) — MCP server · ★ 1085
- [anymd](https://affpapa.org/en/nevibecode/mcp/anymd.md) — MCP server · ★ 1054
- [Docling MCP](https://affpapa.org/en/nevibecode/mcp/docling-mcp.md) — MCP server · ★ 779

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
