Receive-only inbox for AI agent sign-ups: one call returns the verification code. Never sends.
One address for any MCP client. You sign in at mail.zoomfort.com once, after adding it.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
| Access to | Read | Change |
|---|---|---|
| Codes | ||
| Mailbox |
From the sign-in at mail.zoomfort.com, as the endpoint publishes it. You approve it there.
Odel could not list its tools without signing in.
Receive-only inbox for AI agent sign-ups: one call returns the verification code. Never sends.
zoomfort gives an AI agent its own email address. The agent signs up for a service with that address, then asks zoomfort for the verification code or link. zoomfort only receives mail: it cannot send, reply or forward, and it never opens or follows links in mail.
This repository holds the public description of the hosted MCP server: this README, the registry file
server.json and an agent usage file, skills/zoomfort/SKILL.md.
The server itself runs at https://mail.zoomfort.com/mcp; there is nothing to install or self-host.
Create a free account at https://zoomfort.com/app/signup. New accounts open every day; when the day's
places are taken, register interest at https://zoomfort.com/#invite or email hello@zoomfort.com and we
will send you an invite. Once your account exists, sign in at https://mail.zoomfort.com/app and create an
address, such as signup@yourname.zoomfort.com. Mail to an address you have not created is refused.
Four read-only tools, each marked readOnlyHint: true:
| Tool | What it does | Permission |
|---|---|---|
get_addresses | Lists the inbox addresses your credential can reach. | any valid credential |
wait_for_code | Waits up to 25 seconds for a verification code from a sender that passed the sender check. | read:codes |
wait_for_link | Waits up to 25 seconds for a verification link from a sender that passed the sender check. Returns the link; zoomfort never opens it. | read:codes |
list_recent_mail | Lists recent mail summaries, newest first. Quarantine is left out unless asked for. | read:mailbox |
The tools cannot send, delete, move or mark mail, and do not return raw mail, headers or attachment content.
Endpoint: https://mail.zoomfort.com/mcp, Streamable HTTP, POST only. Use this exact path: /mcp/ with
a trailing slash does not work.
Claude (OAuth). Open Settings › Connectors › Add custom connector, enter https://mail.zoomfort.com/mcp
and approve the connection on zoomfort. You choose which addresses it can read and whether it can read
codes, mail or both. A connection counts as one of your keys, expires after 90 days without use, and can
be disconnected any time in Settings › API keys.
Other clients (API key). In zoomfort, open Settings › API keys › Create key, give it read:codes
(add read:mailbox if the agent should list mail) and only the addresses it needs. The full key is shown
once. Keep it in the environment as ZOOMFORT_API_KEY and send it as Authorization: Bearer <key>.
Never put the key in a URL or in tool arguments.
Cursor, .cursor/mcp.json:
{
"mcpServers": {
"zoomfort": {
"url": "https://mail.zoomfort.com/mcp",
"headers": { "Authorization": "Bearer ${env:ZOOMFORT_API_KEY}" }
}
}
}
Claude Code, .mcp.json:
{
"mcpServers": {
"zoomfort": {
"type": "http",
"url": "https://mail.zoomfort.com/mcp",
"headers": { "Authorization": "Bearer ${ZOOMFORT_API_KEY}" }
}
}
}
Codex, ~/.codex/config.toml:
[mcp_servers.zoomfort]
url = "https://mail.zoomfort.com/mcp"
bearer_token_env_var = "ZOOMFORT_API_KEY"
These client examples follow each vendor's documentation and have not all been tested end to end.
The same lookups are plain HTTPS calls with the same key:
curl --get 'https://mail.zoomfort.com/api/v1/code' \
-H "Authorization: Bearer $ZOOMFORT_API_KEY" \
--data-urlencode 'to=signup@yourname.zoomfort.com' \
--data-urlencode 'from_domain=service.example' \
--data-urlencode 'since=2026-10-17T08:00:00Z' \
--data-urlencode 'wait=25'
/api/v1/link returns a verification link the same way. OAuth connections work only at /mcp, not in the
REST API. Full reference: https://zoomfort.com/docs
since, so an older code is never picked up.from_domain, the domain of the service you expect mail from.link_host, sender and subject
before following a link.The agent usage file skills/zoomfort/SKILL.md spells this out for Claude Code,
Cursor, Codex and OpenClaw.
The usage file is also packaged as a Claude Code plugin, so an agent can load it without reading these docs:
/plugin install zoomfort --marketplace chronicle-digital-solutions-ltd/zoomfort-mcp
The plugin holds only the skill. Connect the MCP server or set ZOOMFORT_API_KEY as described above.
All keys and connected apps of one account share 120 requests a minute and 20 waiting calls a minute
(the waiting calls are wait_for_code, wait_for_link and REST calls that wait), so more keys do not
raise them. On Free, ordinary mail is kept 7 days. Plans and limits:
https://zoomfort.com/docs#limits