The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Thunderbird Cli listing page.
Give Claude (and other AI agents) full access to your email through Mozilla Thunderbird.
IMAP libraries force you to manage credentials, OAuth flows, and sync state — dangerous in an AI-agent context. Thunderbird already solves all of that. This tool treats Thunderbird as the source of truth and exposes every capability as a CLI command or MCP tool, so AI agents can read, search, and write email without ever touching a password.
Tested at scale: 22 accounts, 249,000+ messages, 86,000+ unread — all managed live through a single CLI.
--confirm--fields selection, --compact mode, --max-body truncationFull setup guide (including background service, Docker, troubleshooting): docs/SETUP.md
Full command reference: docs/COMMANDS.md
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Restart Claude Desktop. Now ask:
"How many unread emails do I have?" "Find invoices from AWS last month" "Reply to message 118 saying I'll attend — save as draft" "Download the PDF attachment from message 245"
Full MCP guide: mcp/README.md
A Claude Skill ships alongside the MCP server. It teaches Claude how to use the 12 email tools well — token-efficient field selection, draft-by-default safety, trust-metadata checking before acting on links, recipes for common workflows. Install it from skills/thunderbird-cli/:
Without the skill, the MCP still works. With it, Claude automatically uses the safest defaults and most efficient response shapes.
| Component | Role |
|---|---|
Extension (extension/) | Thunderbird WebExtension. Calls messenger.* APIs. 43 route handlers. |
Bridge (bridge/) | Stateless HTTP↔WebSocket proxy daemon. No business logic. |
CLI (cli/) | tb command — 38 commands. Thin HTTP client. JSON output. |
MCP (mcp/) | tb-mcp server — 12 curated tools for Claude Desktop. |
Thunderbird is the source of truth. The CLI never caches or stores email data.
| Tool | Credentials | AI-agent ready | Compose / send | Multi-account | Runtime |
|---|---|---|---|---|---|
| thunderbird-cli | stay in Thunderbird | ✅ CLI + MCP, JSON out | ✅ draft / open / send | ✅ any Thunderbird account | Node.js |
| Raw IMAP libs (imapflow, imaplib) | you manage them | you wire it yourself | SMTP, separate | manual per account | varies |
| notmuch | via your MUA | CLI only, text output | ❌ reader only | via config | C |
| mu / mu4e | via your MUA | CLI only, sexp/text | ❌ reader only | via config | C |
| himalaya | in config files | ✅ CLI, JSON out | ✅ | ✅ | Rust |
| mutt / neomutt | in muttrc | ❌ interactive TUI | ✅ | via config | C |
The niche: you already trust Thunderbird with your credentials and account state. This tool surfaces that as a machine-readable API without asking you to re-configure IMAP/SMTP anywhere else.
| Doc | What's inside |
|---|---|
| docs/SETUP.md | Installation, background service, Docker, troubleshooting |
| docs/COMMANDS.md | Full reference for all 38 CLI commands |
| docs/CLAUDE.md | AI-agent-focused quick reference + security rules |
| skills/thunderbird-cli/SKILL.md | Companion Claude Skill — recipes, safety defaults, token patterns |
| mcp/README.md | Claude Desktop integration guide |
| AGENTS.md | Guide for AI agents editing this codebase |
| SPEC.md | Full technical specification |
| SECURITY.md | Threat model, prompt-injection defenses |
| CONTRIBUTING.md | Dev setup, code style, PR process |
| CHANGELOG.md | Release notes |
Contributions welcome. Please open an issue first to discuss non-trivial changes. See CONTRIBUTING.md for local dev setup and the 80-test suite.
MIT — see LICENSE