01Проблема и решение
AI-агенты упираются в стену, когда сервис требует email-верификацию. Заполнить форму регистрации могут — а вот получить письмо с подтверждением — нет. Останавливаются и просят тебя сделать.
Как выглядит решение
Agent: create_inbox({ prefix: "signup", name: "test" })
→ signup-1712345678@somedomain.com (name: test) Agent: [заполняет sign-up форму этим 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. Работает с любым сервисом, отправляющим почту: Supabase, Resend, SendGrid, Postmark, AWS SES — что угодно. Без API-ключей с их стороны.
02Установка
$ npx gsd-agent-inbox Интерактивный установщик авто-детектит твоих AI-кодеров (Claude Code, Codex CLI, Cursor, Gemini CLI, Windsurf), конфигурит MCP-сервер и опционально устанавливает skill для каждого.
Когда запускается MCP-клиентом (non-TTY) — поднимает MCP-сервер. Когда из терминала — показывает инсталлер.
Без API-ключей
Не нужны Mailtrap-аккаунты, не нужны ключи провайдеров. Берёт публичные сервисы одноразовой почты.
Авто-детект
Установщик находит твои Claude Code, Cursor, Codex и регистрирует MCP-сервер для каждого автоматически.
Опциональный skill
Skill-файл учит агента когда и как использовать inbox — ставит автоматически при auth-флоу.
03Реальный пример
Сценарий: агенту нужно зарегистрироваться на сервисе и протестировать UI.
// 1. Создаём ящик с понятным именем create_inbox({ prefix: "signup", name: "main" })
→ Email: signup-abc123@inbox.example.com // 2. Агент идёт на сайт и регистрируется этим email
// (через gsd-browser или другой инструмент) // 3. Ждём письмо подтверждения и проходим верификацию verify_email({ address: "main", subject_contains: "confirm" })
→ Email verified! URL: https://app.example.com/verify?token=... // 4. Можно работать дальше — пользователь активирован
// 5. Чистим за собой delete_inbox({ address: "main" }) Именованные ящики
Дай ящику имя — будешь обращаться к нему коротким идентификатором между несколькими тул-коллами без передачи полного email-адреса. Особенно удобно, когда работаешь сразу с несколькими ящиками.
04Ручная настройка
Если не хочешь использовать инсталлер:
Claude Code
$ claude mcp add agent-inbox -- npx -y gsd-agent-inbox Или в ~/.claude/settings.json:
{
"mcpServers": {
"agent-inbox": {
"command": "npx",
"args": ["-y", "gsd-agent-inbox"]
}
}
} Codex CLI
В ~/.codex/config.toml:
[mcp_servers.agent-inbox]
command = "npx"
args = ["-y", "gsd-agent-inbox"] Cursor / Gemini CLI / Windsurf
Структура конфига та же — JSON с mcpServers.agent-inbox:
- Cursor:
~/.cursor/mcp.json - Gemini CLI:
~/.gemini/settings.json - Windsurf:
~/.codeium/windsurf/mcp_config.json
Любой другой MCP-клиент
{
"command": "npx",
"args": ["-y", "gsd-agent-inbox"]
} Сборка из исходников
$ git clone https://github.com/gsd-build/agent-inbox.git
$ cd agent-inbox && npm install && npm run build 056 тулов
| Тул | Что делает |
|---|---|
| create_inbox | Поднять одноразовый email-адрес. Опционально prefix для читаемости, name для удобной ссылки. |
| check_inbox | Проверить сообщения. Возвращает subjects, bodies и авто-извлечённые верификационные ссылки. |
| wait_for_email | Polling до прихода нужного письма. Фильтры по sender и subject. Auto-retry с backoff. |
| verify_email | One-shot верификация: ждёт письмо, извлекает ссылку, переходит по ней через HTTP. Три шага в одном тул-колле. |
| list_inboxes | Показать все активные ящики с именами и провайдерами. |
| delete_inbox | Удалить ящик и связанный backing-аккаунт. |
06Как это работает
Использует mail.tm как основного провайдера с автоматическим fallback на 1secmail, если mail.tm недоступен. Без API-ключей и аккаунтов.
Fallback провайдеры
Если mail.tm упал — 1secmail берёт на себя автоматически.
Cleanup на выход
Все ящики удаляются при shutdown сервера (SIGINT/SIGTERM).
Smart polling
wait_for_email ретраит с backoff: 3s → 5s → 10s → 15s.
Извлечение ссылок
Confirmation URLs авто-детектятся по keyword-паттернам.
Опциональный skill для агента
Установщик может поставить skill-файл, который учит твоего AI-агента когда и как использовать agent-inbox — чтобы он сам тянулся к inbox-тулам при auth-флоу, верификации почты или тестировании регистраций.
Ручная установка skill для Claude Code:
$ 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 07Ограничения
Disposable detection
Некоторые сервисы блокируют домены одноразовой почты при регистрации. Если sign-up отклонён — попробуй другой сервис, либо fallback-провайдер активируется автоматически.
In-memory only
Ящики не переживают рестарт сервера. Хранятся в памяти. Это ок для AI-воркфлоу — обычно ящик нужен на одну сессию.
Только текст
Поддерживаются text и HTML тела писем. Без attachments. Для большинства auth-флоу этого достаточно — там обычно только ссылка.
В связке с экосистемой
agent-inbox идеально работает с другими продуктами GSD:
- gsd-browser — заполняет sign-up форму, после чего agent-inbox принимает confirmation письмо
- get-shit-done — в фазе верификации (UAT) агент тестирует регистрацию end-to-end через одноразовую почту
- gsd-2 — в auto-режиме автоматически проверяет auth-флоу без человека
08Глоссарий
"main" или "signup") для удобной ссылки между тул-коллами без передачи полного email-адреса.create_inbox, удаляется при delete_inbox.