Atomic Mail
/install atomicmail
Atomic Mail
Atomic Mail exposes a programmable inbox over JMAP with PoW signup and JWT
rotation. This skill ships a single CLI entrypoint with three commands:
register, jmap_request, and help — matching the MCP server.
When to use this skill
- Register a new inbox or log in with an existing API key.
- Send JMAP batches (inline JSON or preset files).
- Read built-in documentation (JMAP cheatsheet, presets, troubleshooting) or the
package README (
atomicmail help --topic readme).
Call atomicmail help early and often — before guessing
placeholders, using URNs, or cron setup. Start with help --topic overview,
then presets before custom jmap_request calls and cron after register.
If installed behavior disagrees with docs elsewhere, trust help from the running
package.
Commands
{baseDir}/scripts/atomicmail register --username "myagent"
{baseDir}/scripts/atomicmail jmap_request --ops-file list_inbox.json
Run atomicmail --help or atomicmail \x3Ccommand> --help for flags.
Defaults
authUrl:https://auth.atomicmail.aiapiUrl:https://api.atomicmail.ai- credentials directory:
~/.atomicmail
Workflow
1. Register (new account)
{baseDir}/scripts/atomicmail register \
--username "alice"
Writes credentials.json, session.jwt, capability.jwt. Prints JSON
including inbox and accountId.
Required next step: schedule an hourly agent job that fetches inbox mail
via list_inbox.json (see Hourly inbox cron).
Do not cron atomicmail jmap_request alone. Setup is incomplete without the
agent job.
Usernames must be 5–21 characters (local-part of your @atomicmail.ai
address).
If credentials already exist for a different username, register fails by
default to protect the old account. To add another inbox without replacing the
current one, pass a separate --credentials-dir (MCP: credentials_dir on
register / jmap_request). Use --forced only when you intend to replace
credentials in the same directory (after backing it up).
2. Register (existing API key, in case losing the credentials file)
{baseDir}/scripts/atomicmail register \
--api-key "..."
3. JMAP request
{baseDir}/scripts/atomicmail jmap_request \
--ops '[["Mailbox/get", {"accountId": "$ACCOUNT_ID"}, "m0"]]'
$ACCOUNT_ID, $INBOX, $INBOX_MAILBOX_ID, $UPLOAD_URL, and $DOWNLOAD_URL
resolve from the session/credentials. Other placeholders such as $TO or
$SUBJECT require --vars with a JSON object of strings (same substitution
applies to --ops and --ops-file).
Preset file:
{baseDir}/scripts/atomicmail jmap_request \
--ops-file list_inbox.json
With custom placeholders:
{baseDir}/scripts/atomicmail jmap_request \
--ops-file send_mail.json \
--vars '{"TO":"[email protected]","SUBJECT":"Hello","BODY":"Hi there"}'
Bundled presets (no local file creation required):
send_mail.json($TO,$SUBJECT,$BODY)send_mail_attachment.json($TO,$SUBJECT,$BODY,$ATTACHMENT_BASE64,$ATTACHMENT_TYPE,$ATTACHMENT_NAME)send_mail_blob_attachment.json($TO,$SUBJECT,$BODY; pair with repeatable--attachment PATHfor RFC 8620 upload →$ATTACHMENT_0_BLOB_ID, …)list_inbox.json(latest 50; uses$INBOX_MAILBOX_ID) — used by the hourly agent inbox jobreply.json($MAIL_ID,$BODY)
Hourly inbox cron (required)
Registration only creates credentials. Immediately after the first
successful register, schedule an hourly job that invokes your AI agent to
fetch and triage mail (list_inbox.json inside the agent prompt). You need a
conversation where you can reply, forward, or ask follow-ups — not a log file.
Do not cron atomicmail jmap_request alone (no agent). Do not use
headless one-shot CLIs (claude -p, pi -p, codex exec) if you want to
continue the thread.
Pick a workflow
| Your setup | Approach |
|---|---|
| OpenClaw | openclaw cron add with --announce |
| Hermes | hermes cron create or /cron with --deliver |
| Atomic Bot | Same as OpenClaw or Hermes |
| atomic-agent | atomic-agent task create --cron |
| Terminal CLI (Claude, Pi, Cursor, …) | OS scheduler + interactive agent launch |
Full options, agent prompt, and patterns: atomicmail help --topic cron or MCP
help topic cron.
Agent prompt (all workflows)
Use Atomic Mail to fetch my inbox (MCP jmap_request with ops_file list_inbox.json, or atomicmail jmap_request --ops-file list_inbox.json). Summarize new messages, highlight what needs a reply, and stay available — I may ask you to reply, forward, search, or dig into something important.
Built-in cron examples
OpenClaw — cron docs: isolated
session, --announce for delivery.
Hermes — cron docs:
--deliver origin (or telegram, discord, email, …); not --no-agent.
atomic-agent — atomic-agent task create --cron "0 * * * *" --message "\x3Cprompt>"
Terminal agents
Start interactively with the prompt: claude "…", pi "…", agent "…",
gemini -i "…". Use a wrapper script + crontab, macOS LaunchAgent, or Linux
systemd user timer — see help --topic cron for the decision guide.
4. Help
{baseDir}/scripts/atomicmail help
{baseDir}/scripts/atomicmail help --topic jmap_cheatsheet
Security
credentials.jsonholds the API key (mode0600). Do not commit it.- JWT files are bearer secrets — do not log them.
Attachments and blobs
Use send_mail_attachment.json (in-band base64) or send_mail_blob_attachment.json
with repeatable --attachment PATH (RFC 8620 upload — same flow as MCP
attachments). Rules, limits, and Blob/upload JSON shape: atomicmail help --topic jmap_cheatsheet and Raw JMAP requests.
{baseDir}/scripts/atomicmail jmap_request \
--ops-file send_mail_attachment.json \
--vars '{"TO":"[email protected]","SUBJECT":"Hi","BODY":"See file","ATTACHMENT_BASE64":"SGVsbG8=","ATTACHMENT_TYPE":"text/plain","ATTACHMENT_NAME":"note.txt"}'
Overriding defaults
- Endpoints:
--auth-url,--api-urlorATOMIC_MAIL_AUTH_URL,ATOMIC_MAIL_API_URL - Credentials path:
--credentials-dirorATOMIC_MAIL_CREDENTIALS_DIR - PoW salt:
--scrypt-saltorATOMIC_MAIL_SCRYPT_SALT
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install atomicmail - 安装完成后,直接呼叫该 Skill 的名称或使用
/atomicmail触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Atomic Mail 是什么?
Read and write email through the Atomic Mail ESP from an AI agent. Handles proof-of-work authentication and JMAP so the agent thinks in JMAP method calls. Us... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 28 次。
如何安装 Atomic Mail?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install atomicmail」即可一键安装,无需额外配置。
Atomic Mail 是免费的吗?
是的,Atomic Mail 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Atomic Mail 支持哪些平台?
Atomic Mail 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Atomic Mail?
由 Atomic Mail(@atomicmail)开发并维护,当前版本 v0.3.10。