Thunderbird CLI MCP server
Give AI agents full read/write email access via Mozilla Thunderbird. Zero credentials.
50 stars
Reviews
Write oneNobody has reviewed Thunderbird CLI yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Thunderbird CLI tools (12, 12 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
email_archivewrite actionArchive, move, or delete messages. Operations: 'archive' (move to archive folder), 'move' (to specific folder), 'delete' (to trash). Permanent delete requires confirm=true.
email_attachmentswrite actionList or download attachments from a message. Operation 'list' returns attachment metadata. Operation 'download' returns base64-encoded file data (use partName from list results).
email_composewrite actionCompose a new email. Default mode is 'draft' (saved to Drafts folder, not sent). Use mode='send' to send immediately, mode='open' to open in Thunderbird's compose window for human review. ALWAYS prefer draft mode unless the human explicitly asked to send.
email_folderswrite actionList folders for an account, get folder info with message counts, or trigger sync. Operations: 'list' (folders for account), 'all' (across all accounts), 'info' (one folder), 'sync' (refresh from IMAP).
email_forwardwrite actionForward a message to a new recipient. Default mode is 'draft' for human review.
email_listwrite actionList messages in a specific folder. Use email_folders first to get folder IDs. Supports pagination and sorting.
email_markwrite actionUpdate message flags: read/unread, flagged/unflagged, junk/not-junk. Accepts a single ID or array of IDs for batch operations.
email_readwrite actionRead a specific email message. Modes: 'default' (headers + text body), 'headers' (cheapest), 'full' (with HTML), 'raw' (RFC822). Use maxBody to truncate long messages.
email_replywrite actionReply to a message. Default mode is 'draft'. Use mode='send' for immediate send. Set replyAll=true to reply to all recipients.
email_searchwrite actionSearch for emails across all accounts. Supports filters by sender, recipient, subject, date range, attachments, tags. Excludes junk by default. Use --fields to minimize token cost.
email_statswrite actionGet an overview of all email accounts: total accounts, unread counts, message totals. Optionally filter to a single account or include per-folder breakdown.
email_threadwrite actionGet the full conversation thread for a message — all related messages sorted chronologically, resolved across accounts via References/In-Reply-To headers.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan4 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 12 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Install Thunderbird CLI in Claude Code, Cursor or VS Code
Runs npx -y thunderbird-cli-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add thunderbird-cli -- npx -y thunderbird-cli-mcp
What the publisher says
From the Thunderbird CLI repository's README, as published. We do not edit it. Read it on GitHub
thunderbird-cli
Give Claude (and other AI agents) full access to your email through Mozilla Thunderbird.
Why
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.
Features
- 🔐 Zero credential exposure — all IMAP/SMTP stays in Thunderbird
- 🤖 Claude Desktop ready — 12 MCP tools, one-line config
- 📨 38 CLI commands — read, search, compose, reply, bulk ops, folder CRUD, attachments
- 🛡️ Safe by default — compose/reply/forward save as drafts; permanent delete requires --confirm
- 🎯 Token-optimized — --fields selection, --compact mode, --max-body truncation
- 🏠 Localhost-only — no cloud, no telemetry, nothing leaves your machine
- ✅ Thunderbird 128+ — signed and approved on addons.thunderbird.net
- 🧪 80 tests — 46 CLI/bridge + 34 MCP integration tests
Quick Start
# 1. Install CLI + bridge from npm
npm install -g thunderbird-cli thunderbird-cli-bridge
# 2. Install the signed Thunderbird extension
# Download: https://github.com/vitalio-sh/thunderbird-cli/releases/latest
# Thunderbird → Add-ons → ⚙ → Install Add-on From File… → thunderbird_ai_bridge-*.xpi
# 3. Start the bridge daemon (keep running)
tb-bridge
# 4. Try it
tb health
tb statsFull setup guide (including background service, Docker, troubleshooting): docs/SETUP.md
Usage
# How many unread across all accounts?
tb stats
# Find invoices from AWS in the last 30 days
tb search "invoice" --from aws --since 30d --fields id,author,subject,date
# Read a message (token-efficient — headers + text only, max 500 chars)
tb read 89900 --max-body 500
# Reply as draft (never auto-sends)
tb reply 89900 --body "Thanks, I'll review tomorrow"
# Download a PDF attachment
tb attachment-download 11 1.2 --output invoice.pdf
# Bulk archive old newsletters
tb bulk move "account1://INBOX" "account1://Archive" \
--from "newsletter@" --older-than 30Full command reference: docs/COMMANDS.md
Use with Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claudedesktopconfig.json on macOS):
{
"mcpServers": {
"thunderbird": {
"command": "npx",
"args": ["-y", "thunderbird-cli-mcp"]
}
}
}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
Companion skill for Claude
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Thunderbird CLI: common questions
- Is Thunderbird CLI MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Thunderbird CLI safety report
- How do I install Thunderbird CLI?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Thunderbird CLI need an API key?
- No secret keys are declared. It reads 2 settings from the environment.
- Is Thunderbird CLI maintained?
- The last commit was 21 days ago (2026-09-15). The latest release is v1.0.2.
- What can I use instead of Thunderbird CLI?
- Servers from other publishers that do the same job: Inbox Zero MCP server, Hail MCP server and smbCloud Mail & Auth MCP server. Compare all Thunderbird CLI alternatives.
Alternatives to Thunderbird CLI
Same job from other publishers: the closest match first, then the best rated.
Inbox ZeroSearch Gmail and Outlook, save drafts, manage email rules, and view email stats.not reviewedEstablishedA
HailPhone, SMS & email for AI agents — one remote MCP endpoint, OAuth login, zero install.not reviewedGrowingB
smbCloud Mail & AuthEmail infrastructure and authentication for developers: domains, inbox routes, auth apps, deploys.not reviewedGrowingA
PostfleetGive an AI agent its own email address: send, reply, read, and wait for mail.not reviewedGrowingA- MailappmcpMCP server for macOS Mail.app — gives Claude native email access via AppleScriptnot reviewedGrowingA