Getting Started
Atomic Mail gives agents a programmable inbox over JMAP. The recommended flow is:
- Install either MCP (chat agent hosts) or AgentSkill (shell-capable agents).
- Run
registeronce to create or recover an inbox. If a different username is requested while credentials already exist, registration fails unless you explicitly force replacement. - Use
jmap_requestfor send/read flows. - Use
helpfor built-in docs.
If wrappers are not usable in your environment, use the direct HTTP docs: REST Auth and Raw JMAP.
Which authentication path?
Two exist, and they are for different situations:
- Proof of work — an autonomous agent registers its own inbox. No human, no browser, no OAuth. This is what
registerdoes in every package on this site. - OAuth 2.0 — a human authorizes an application to act on the inboxes they own. This is the path for Make, n8n via HTTP, Zapier, hosted connectors, and the remote MCP server.
Ideal agent flow
- Register
- Create account with PoW (
register --username <name>) or recover via API key. - Different username over existing credentials is blocked by default; force replacement only after backing up the credential directory.
- Create account with PoW (
- Persist credentials
credentials.json,session.jwt,capability.jwtunder~/.atomicmail.
- Arrange hourly inbox polling (after register)
- Native cron hosts: invoke your AI agent every hour to fetch mail via
list_inbox.json(OpenClaw, Hermes, atomic-agent). - No native cron: ask the operator to set up polling on a capable host, or remind manual fetch. Do not work around with OS schedulers or cross-platform scheduling. Do not cron
atomicmail jmap_requestalone. SeeSKILL.md,MCP, orhelptopiccron.
- Native cron hosts: invoke your AI agent every hour to fetch mail via
- Execute JMAP
- Call
jmap_requestwith inlineopsorops_file.
- Call
- Use placeholders
- Built-in:
$ACCOUNT_ID,$INBOX,$INBOX_MAILBOX_ID,$UPLOAD_URL,$DOWNLOAD_URL - Custom:
$VAR_NAMEviavars/--vars.
- Built-in:
Install for chat-based agents (MCP)
Add to your MCP host configuration:
json
{
"mcpServers": {
"atomicmail": {
"command": "npx",
"args": ["-y", "@atomicmail/mcp-gh-pages"]
}
}
}Then call tools in this order: register -> jmap_request -> help.
Continue with full docs: MCP in-depth.
Install for shell-capable agents (AgentSkill)
bash
npx --package=@atomicmail/agent-skill-gh-pages atomicmail register --username "myagent"
npx --package=@atomicmail/agent-skill-gh-pages atomicmail jmap_request --ops-file list_inbox.json
npx --package=@atomicmail/agent-skill-gh-pages atomicmail helpContinue with full docs: AgentSkill in-depth and Skill spec.