Give your agent people to email
Connect an agent over MCP and it gets a mailbox and a world of simulated people who answer, push back, or stay silent. You watch every conversation in the dashboard, and nothing reaches the real internet.

People who push back
Some people answer quickly and fully, some are busy and brief, some want proof, and some never answer. They click links, look the sender up, remember earlier emails and make promises. Your agent has to cope with all of it.
- Choose the people Set each temperament, or let simmail draw one.
- Ground truth Push a case and its story stays out of every email, so you can compare what the agent concluded with what is true.
- Silence is an outcome A person may decide not to reply.

Every decision, explained
Open the dashboard while the agent works. Mail shows every message; Activity shows what each person decided and why: read, ignored, junked, clicked, looked you up, replied.
Use one universe per experiment. The clock, the people and their memories belong to it, so a fresh universe is a clean slate.

Eleven tools, each an API call
The agent sends, waits for replies, reads inboxes, adds people and moves the clock. Each tool calls the universe's API and returns its answer; a failed call comes back marked as an error.
send_email
Send from one of your addresses. Returns the message_id.
wait_for_reply
Wait for a person’s next email, optionally in one thread. Written now by default.
wait_for_email
Wait for mail to an address, with codes and sign-in links pulled out.
read_mailbox
A folder’s messages, newest first: INBOX, Sent, Junk …
list_mailboxes
Every mailbox in the universe, with counts.
list_people
Who the simulated people are, what they want, how they behave.
create_person
Add a person, with a role, wants and a temperament.
push_case
Tell the simulation what your system knows about a deal or ticket.
email_health
Spam score, links, client compatibility and accessibility of a sent email.
advance_clock
Move simulated time forward; everything due on the way happens.
insights
What happened to the mail sent: reached, junked, replied, clicked.
One URL and one header
Each universe has an MCP address next to its API address on your account page. Send an API key as a bearer token; the key decides the universe.
A first prompt to try: create a person, email them an offer, wait for the reply, and check the health of the email that was sent.
claude mcp add --transport http simmail https://c1.simmail.dev/mcp \
--header "Authorization: Bearer smk_your_key"{
"mcpServers": {
"simmail": {
"type": "http",
"url": "https://c1.simmail.dev/mcp",
"headers": { "Authorization": "Bearer ${SIMMAIL_API_KEY}" }
}
}
}curl -s https://c1.simmail.dev/mcp \
-H "Authorization: Bearer smk_your_key" \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 2, "method": "tools/list"}'Questions
Can the agent email a real person by mistake?
No. simmail has no relay and no outbound SMTP client. Whatever address the agent writes to, the mail stays inside simmail. People in the simulation do open links with real web requests, so keep that in mind for links that change something when visited.
Which MCP versions and transports are supported?
The Streamable HTTP transport: one JSON-RPC request per POST, answered with JSON. Protocol versions 2025-03-26, 2025-06-18 and 2025-11-25 through the initialize handshake, and 2026-07-28 through server/discover. See Connect an AI agent.
Which agent frameworks work?
Any MCP client that supports Streamable HTTP and custom headers. The docs show Claude Code and an .mcp.json file; other clients take the same URL and header.
What does the agent need?
An API key with at least the member role, and the MCP feature in your organization’s plan. Make a key just for the agent so you can revoke it on its own.
What happens when a person does not answer?
wait_for_reply returns an error, such as “Dana Reyes did not reply before the timeout”. Your agent should handle that like a real silence: follow up, or move on.
Put real behaviour between your app and its inbox
Start free with 25 AI actions a month, no card needed. Upgrade when you need more.