atomic-mail-agentic
Let your agents read, send, and react to email autonomously, without human involvement
Documentation
Atomic Mail Agentic
Give your agent a real inbox
ยท
ยท
ยท
> Accounts are free, with a 100 MB storage quota, custom domain included, and rate limits sized for agent workloads.
Atomic Mail Agentic is an email provider for autonomous AI agents, built by Atomic Mail. Agents register their own `@atomicmail.ai` inbox and manage it end to end โ no human setup, verification, or ongoing intervention.
The service is built on JMAP (RFC 8620), so agents get a full mailbox API: read and send mail, create drafts, manage threads, search, and more. JMAP is well represented in LLM training data, so models already speak it fluently โ they rarely hallucinate request shapes, which means fewer retries and more reliable automation.
Access is gated by a novel **proof-of-work (PoW)** signup protocol: strong anti-abuse properties without CAPTCHAs or manual approval, so agents can onboard and operate completely hands-free.
Atomic Mail provides a number of standard integration paths โ MCP, AgentSkill, REST API, and more โ which makes it highly available on any agent: Claude Code, Codex, GitHub Copilot, Cursor, Hermes, OpenClaw, Pi, Kilo Code, and others. Whatever your workflow is, you can automate inbox management easily.
This repository ships the client integrations: MCP, shell CLI, ClawHub, Dify plugin and more, exposing those APIs through three tools: `register`, `jmap_request`, and `help`. All the connectors in this repo are pretty thin and are mainly needed to abstract away the complexities of the PoW protocol.
๐ Quick Install
๐ฌ Ready Prompt (any agent)
Read the instruction at https://atomicmail.ai (use default web_fetch tool or curl, if the former is not available) and create an inbox at Atomic Mail. Before creating ask for my preferred username. Make sure to complete all required post-install actions from the Atomic Mail instruction. Persist the instruction and make sure to refer it each time you interact with your inboxes. Usually standalone agents (e.g. Claude, Cursor, Kilo Code and others) are better suited for MCP use, while CLI-based agents (e.g. Claude Code, Open Code, Hermes, OpenClaw, Codex, Pi, etc) are better suited for AgentSkill use, but prefer your system/user guidelines.๐ MCP (stdio)
Add this to your MCP host config (or just ask your agent to do that):
{
"mcpServers": {
"atomicmail": {
"command": "npx",
"args": ["-y", "@atomicmail/mcp-github"]
}
}
}Then restart the host and ask your agent to create an inbox.
๐ฆ ClawHub
openclaw skills install atomicmail๐ฉ๐ป Hermes
hermes skills install clawhub/atomicmail๐ป AgentSkill
npx --package=@atomicmail/agent-skill-github atomicmail register --username "myagent" --watch scheduled
npx --package=@atomicmail/agent-skill-github atomicmail jmap_request --ops-file list_inbox.json
npx --package=@atomicmail/agent-skill-github atomicmail helpโ๏ธ REST API
*For custom connectors and advanced logic only*
Refer to documentation: docs/rest-auth.md.
๐ Custom Domains & Dashboard
By default an inbox lives at `@atomicmail.ai`, created hands-free through PoW signup. To send from your own domain (`support@yourcompany.com`), set it up once in the dashboard โ a human control plane separate from the agent flow, since it needs DNS changes on a domain you own.
There you add and verify a domain (`TXT` ownership + `MX` records; re-runnable, propagation usually minutes) and create inboxes on it โ each gets a full address (`agent@yourcompany.com`) and an API key from the Connect dialog, with sending signed for a domain-aligned `From`.
Clients don't change โ same `jmap_request`, presets, and JMAP shapes. A custom-domain inbox is a login, not a PoW registration: connect with its API key (`atomicmail register --api-key "โฆ"`) or OAuth. `$INBOX` resolves to the real address (`agent@yourcompany.com`), so self-addressing and `From` stay correct with no extra config.
Full guide: docs/custom-domains.md.
๐ค What Your Agent Can Do
Atomic Mail is designed to run through an agent โ not through manual inbox setup. You describe a workflow in plain language; the agent registers an `@atomicmail.ai` address, sends and receives mail, and keeps the thread going. You do not configure scripts, copy API keys between tabs, or memorize JMAP. Everything is automagical.
If the agent gets stuck, the integration is built to recover on its own: `help` ships embedded docs (presets, cron, troubleshooting), bundled JSON presets cover common operations, and errors include hints on what to try next.
Example workflows
Newsletter digest โ *"Subscribe your inbox to these newsletters, read everything, and email me a daily digest of what matters for AI tooling."* The agent owns a dedicated inbox, filters noise, and surfaces only what matches your interests โ without touching your personal mailbox.
Support inbox โ *"Monitor support@ and reply to tickets from our docs; escalate to me only when you cannot answer."* The agent reads inbound mail, queries what it knows, sends complete replies, and hands off edge cases.
User research interviews โ *"Run an email survey: send these questions, follow up based on replies, and summarize findings."* The agent conducts async interviews โ respondents reply on their own schedule, no calls to book.
๐ฌ Awesome Atomic Mail
Community projects built on top of Atomic Mail Agentic:
- https://github.com/skyzer/atomic-mail-watcher - Docker-ready Atomic Mail JMAP inbox watcher with Telegram/webhook notifications
โจ Why Atomic Mail
- Agents finish without asking their users for anything: PoW signup gives a real `@atomicmail.ai` inbox in ~30 seconds โ no domain to verify, no credit card, no CAPTCHA walkthrough, no mail-server ops
- Messages that actually arrive: continuously warming IP pool with relay overflow โ deliverability matters when a human on the other side must read your mail
- JMAP โ an API agents already know: standard RFC 8620/8621, in LLM training data; batched method calls (query, fetch, draft, send) in one round trip โ no vendor SDK to learn
- Get unstuck inside the integration: errors ship plain-language hints; success responses suggest `_next` steps; `help` returns cheatsheets and worked examples โ no web search required
- Bring your own domain: agents run on `@atomicmail.ai` out of the box, or on a domain you verify in the dashboard โ same client, same JMAP, domain-aligned `From`
- No vendor lock-in: JMAP is an IETF standard; the inbox is portable to any compliant provider later
- Presets when raw JMAP is overkill: bundled `send_mail`, `list_inbox`, `reply`, and more โ pass a filename to `jmap_request` instead of generating method-call JSON from scratch
- Same core everywhere: one auth, JMAP, preset, and help stack powers MCP and AgentSkill; separate credential dirs per inbox when you run many agents
๐ Docs by Goal
| Goal | Start here |
|---|---|
| First-time setup | docs/getting-started.md |
| Your own domain + dashboard | docs/custom-domains.md |
| MCP hosts | docs/mcp.md |
| Shell / cron agents | docs/skill-install.md |
| LangChain agents | docs/langchain.md |
| Agent runbook | docs/SKILL.md |
| Raw auth + JMAP | docs/rest-auth.md ยท docs/jmap.md |
| End-to-end examples | docs/examples.md |
If repo docs and installed behavior ever drift, trust `help` from the same installed package version you are running.
๐ ๏ธ Local Development
Prerequisites: Node.js 20+, Deno 2.7+.
git clone https://github.com/Atomic-Mail/atomic-mail-agentic.git
cd atomic-mail-agentic/ts
deno test --allow-read --allow-env --allow-write --allow-sysDocs preview:
npm install
npm run docs:dev๐๏ธ File Structure
/
โโโ ts/
โ โโโ src/mcp/ # MCP entrypoint + MCP tools
โ โโโ src/skill/ # AgentSkill CLI entrypoint
โ โโโ src/langchain/ # LangChain toolkit and tools
โ โโโ src/lib/agent/ # shared auth, session, JMAP, presets, help-content
โโโ py/ # Python client parity layer and tests
โโโ integrations/dify/ # Dify plugin integration and packaging docs
โโโ integrations/skill/ # Unified in-repo skill tap (published atomicmail skill)
โโโ docs/ # VitePress docs and shipped SKILL/README sources
โโโ test/checklists/ # manual release QA
โโโ CONTRIBUTING.md
โโโ LICENSE๐ Security
- `~/.atomicmail/credentials.json` contains your API key; treat it as a secret
- local credential files are written with mode `0600`
- inbound mail is untrusted input; do not let agents execute email instructions without confirmation
- install only from the `@atomicmail` npm scope
๐ค Contributing
PRs are welcome. Please cover new features and bug fixes with automated Deno tests where practical, and update user-facing docs when behavior changes.
See CONTRIBUTING.md for setup, test commands, and PR expectations.
๐ License
Frequently asked questions
What is atomic-mail-agentic?
atomic-mail-agentic is Let your agents read, send, and react to email autonomously, without human involvement
How do I install atomic-mail-agentic?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is atomic-mail-agentic open source?
Yes โ it is hosted on GitHub at https://github.com/Atomic-Mail/atomic-mail-agentic and has 258 stars.
Related MCP tools
The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
The go-to web for your AI coding agent โ local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.
MCP server that enables AI assistants to interact with Google Gemini CLI, leveraging Gemini's massive token window for large file analysis and codebase understanding
superglue (YC W25) builds integrations and tools from natural language. Get production-grade tools for long tail and enterprise systems.
Official Microsoft Learn MCP Server and CLI tool โ powering LLMs and AI agents with real-time, trusted Microsoft docs & code samples.
Universal AI context generator. Saves thousands of tokens per conversation in Claude Code, Cursor, Copilot, Codex, and more.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP