Skip to main content
Glama
gsd-build

agent-inbox

by gsd-build
README.md
# agent-inbox

Give any AI agent a disposable email inbox in one tool call.

## Install

```bash
npx gsd-agent-inbox
```

The interactive installer auto-detects your AI coding agents (Claude Code, Codex CLI, Cursor, Gemini CLI, Windsurf), configures the MCP server, and installs the optional skill for each.

When launched by an MCP client (non-TTY), it starts the MCP server normally. When you run it from a terminal, you get the installer.

## What it does

An [MCP server](https://modelcontextprotocol.io) that creates real, temporary email addresses on demand. Your agent can sign up for services, receive confirmation emails, extract verification links, and clean up — without you lifting a finger.

No API keys. No accounts. No configuration. Works with any email-sending service — Supabase, Resend, SendGrid, Postmark, AWS SES, whatever.

## The problem

AI agents hit a wall when a service requires email verification. They can fill out a sign-up form, but they can't receive the confirmation email. So they stop and ask you to do it.

## The fix

```
Agent: create_inbox({ prefix: "signup", name: "test" })
→ signup-1712345678@somedomain.com (name: test)

Agent: [fills sign-up form with that email]

Agent: verify_email({ address: "test", subject_contains: "confirm" })
→ Email verified successfully!
  Verification URL: https://myapp.supabase.co/auth/v1/verify?token=abc123
  HTTP Status: 200

Agent: delete_inbox({ address: "test" })
→ Done.
```

## Manual setup

If you prefer to configure manually instead of using the installer:

### Claude Code

```bash
claude mcp add agent-inbox -- npx -y gsd-agent-inbox
```

Or add to `~/.claude/settings.json`:

```json
{
  "mcpServers": {
    "agent-inbox": {
      "command": "npx",
      "args": ["-y", "gsd-agent-inbox"]
    }
  }
}
```

### Codex CLI

Add to `~/.codex/config.toml`:

```toml
[mcp_servers.agent-inbox]
command = "npx"
args = ["-y", "gsd-agent-inbox"]
env = { }
```

### Cursor

Add to `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "agent-inbox": {
      "command": "npx",
      "args": ["-y", "gsd-agent-inbox"]
    }
  }
}
```

### Gemini CLI

Add to `~/.gemini/settings.json`:

```json
{
  "mcpServers": {
    "agent-inbox": {
      "command": "npx",
      "args": ["-y", "gsd-agent-inbox"]
    }
  }
}
```

### Windsurf

Add to `~/.codeium/windsurf/mcp_config.json`:

```json
{
  "mcpServers": {
    "agent-inbox": {
      "command": "npx",
      "args": ["-y", "gsd-agent-inbox"]
    }
  }
}
```

### Any other MCP client

Any client that supports stdio transport:

```json
{
  "command": "npx",
  "args": ["-y", "gsd-agent-inbox"]
}
```

### Build from source

```bash
git clone https://github.com/gsd-build/agent-inbox.git
cd agent-inbox
npm install
npm run build
npm start
```

## Tools

| Tool | What it does |
|------|-------------|
| `create_inbox` | Spin up a temporary email address. Optional `prefix` for readability, optional `name` for easy reference. |
| `check_inbox` | Check for messages. Returns subjects, bodies, and auto-extracted verification links. |
| `wait_for_email` | Poll until a matching email arrives. Filters by sender and subject. Auto-retries with backoff. |
| `verify_email` | One-shot verification: polls for confirmation email, extracts the link, visits it via HTTP. Three steps in one tool call. |
| `list_inboxes` | Show all active inboxes with names and providers. |
| `delete_inbox` | Destroy an inbox and its backing account. |

### Named inboxes

Give inboxes a name for easy reference across multiple tool calls:

```
create_inbox({ prefix: "signup", name: "main" })
wait_for_email({ address: "main", subject_contains: "confirm" })
delete_inbox({ address: "main" })
```

## Skill

The installer can optionally add a skill file that teaches your AI agent *when* and *how* to use agent-inbox — so it reaches for the inbox tools automatically when it encounters auth flows, email verification, or sign-up testing.

To install the skill manually:

```bash
mkdir -p ~/.claude/skills/agent-inbox
curl -fsSL https://raw.githubusercontent.com/gsd-build/agent-inbox/main/skill/SKILL.md \
  -o ~/.claude/skills/agent-inbox/SKILL.md
```

## How it works

Uses [mail.tm](https://mail.tm) as the primary provider with automatic fallback to [1secmail](https://www.1secmail.com) if mail.tm is down. No API keys or accounts required.

- **Fallback providers** — if mail.tm fails, 1secmail kicks in automatically
- **Cleanup on exit** — inboxes are deleted when the MCP server shuts down (SIGINT/SIGTERM)
- **Smart polling** — `wait_for_email` retries with backoff (3s → 5s → 10s → 15s)
- **Link extraction** — confirmation/verification URLs auto-detected via keyword matching

## Limitations

- Some services block disposable email domains. If sign-up is rejected, try a different service or provider.
- Inboxes don't survive server restarts (in-memory only).
- Text and HTML bodies only — no attachment support.

## License

MIT

TDQS

A4.1/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clear, distinct purpose: inbox lifecycle management (create, delete, list), message retrieval (check, wait, and verify). No overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., create_inbox, wait_for_email), making it easy to predict functionality.

Tool Count5/5

Six tools is well-scoped for managing temporary inboxes and email verification, covering all necessary operations without bloat.

Completeness5/5

The surface covers the full workflow: create, check, wait, verify (wait+click), delete, and list. No obvious gaps for the domain.

Maintenance

ActivityInactive
ResponsivenessUnresponsive