Blog
Give your AI agent an email address
2026-07-23
Sooner or later every autonomous agent hits the same wall: a signup form. The agent fills it in, the service says "we sent you a confirmation link" — and the run stalls, because the agent has no inbox to check.
The usual workarounds are all bad. A human babysits the run and pastes OTP codes. A shared Gmail account accumulates state until a security checkpoint locks it. A polling script scrapes an inbox API every two seconds and still misses the timing window.
An inbox the agent can name
MailMatter inverts the setup step: any address you can make up already
exists. There is no create call. If your agent needs to sign up for a
service as bluepine.signup_confirmation_link@mailmatter.dev, it just types
that address into the form — the inbox is live the moment mail arrives, and
the part after the dot describes the scenario, so runs stay distinguishable.
One tool call, no polling
The agent connects over MCP and gets
seven tools. The one that matters here is wait_for_email — it long-polls
server-side and returns when the message lands:
wait_for_email(scenario="signup_confirmation_link")
→ subject + extracted links, ready to visit
No retry loop, no timing window, no glue code. The same works from plain HTTP if you're not on MCP yet:
curl "https://mailmatter.dev/api/…/signup_confirmation_link/wait?timeout=30"
Setup is one line
claude mcp add --transport http mailmatter \
https://mailmatter.dev/mcp \
--header "Authorization: Bearer mm_<your key>"
The API key is the only thing that needs an account — sign in, and the dashboard hands you a paste-ready config. Reading email in the browser needs no account at all — this is the same inbox your agent sees, with the scenario chips separating each flow:

Why not a regular temp-mail site?
Consumer disposable-email sites are built for a human clicking around. They
rotate domains, expire addresses unpredictably, and have no API contract —
fine for dodging a newsletter, useless as test infrastructure. MailMatter
is built as an instrument: deterministic addresses, a REST API, MCP tools,
raw .eml when a rendered view hides the bug, and messages that stay inert
(no link auto-visited, no tracking pixel fired) until you decide otherwise.
If you're building agents that need to complete real signup flows — or CI that asserts on email — open an inbox and try it. No signup, no card.