# e2a MCP server

> Gives AI agents their own email inbox to send, receive, reply to, and route messages for human approval.

- Repository: https://github.com/tokencanopy/e2a
- Page: https://hostedmcp.org/servers/tokencanopy/mcp-server
- Transport: remote
- Stars: 199
- License: Apache-2.0
- Latest version: 1.0.0

## Install

### Claude Code

```sh
claude mcp add --transport http mcp-server https://api.e2a.dev/mcp
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "mcp-server": {
      "url": "https://api.e2a.dev/mcp"
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "mcp-server": {
      "type": "http",
      "url": "https://api.e2a.dev/mcp"
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"mcp-server","type":"http","url":"https://api.e2a.dev/mcp"}'
```

### Codex

```sh
codex mcp add mcp-server --url https://api.e2a.dev/mcp
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.mcp-server]
url = "https://api.e2a.dev/mcp"
```

### Gemini CLI

```sh
gemini mcp add -s user --transport http mcp-server https://api.e2a.dev/mcp
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "mcp-server": {
      "url": "https://api.e2a.dev/mcp",
      "type": "http"
    }
  }
}
```

## Tools (33)

- `whoami`
- `list_agents`
- `get_agent`
- `create_agent`
- `restore_agent`
- `send_message`
- `reply_to_message`
- `forward_message`
- `list_messages`
- `delete_message`
- `restore_message`
- `get_message`
- `get_attachment`
- `update_message_labels`
- `list_reviews`
- `get_review`
- `approve_review`
- `reject_review`
- `register_domain`
- `list_api_keys`
- `create_api_key`
- `delete_api_key`
- `import_contacts`
- `delete_contact_import`
- `set_outreach_contact`
- `delete_outreach_contact`
- `list_suppressions`
- `delete_suppression`
- `list_agent_suppressions`
- `create_agent_suppression`
- `delete_agent_suppression`
- `create_template`
- `validate_template`

## FAQ

### How do AI agents authenticate to the e2a MCP server?

You can use OAuth 2.1 by adding e2a as a connector and authorizing in the browser, or send a Bearer API key from the e2a dashboard in the Authorization header.

### Can a human approve emails before an agent sends them?

Yes. Outbound drafts can be held for human review, and account-scoped users can list, approve with edits, or reject held messages.

### How does an agent reply while keeping the email thread intact?

Use the reply_to_message tool, which preserves In-Reply-To and References headers for thread continuity.

### How do agents get notified of new inbound email?

Inbound mail is available by polling with list_messages, or by subscribing to signed webhook deliveries via create_webhook.

### Can an agent approve its own held messages?

No. Approving and rejecting reviews is an account-scoped action only, never agent self-approval.
