thunderbird-cli
thunderbird-cli
通过 Mozilla Thunderbird 为 Claude(及其他 AI 智能体)提供完整的电子邮件访问权限。
为什么选择它
IMAP 库迫使你管理凭据、OAuth 流程和同步状态——这在 AI 智能体环境中非常危险。Thunderbird 已经解决了所有这些问题。 该工具将 Thunderbird 视为事实来源,并将每一项功能公开为 CLI 命令或 MCP 工具,因此 AI 智能体可以在不接触密码的情况下读取、搜索和编写电子邮件。
经过大规模测试:22 个账户,249,000 多封邮件,86,000 多封未读邮件——全部通过单个 CLI 实时管理。
功能特性
🔐 零凭据暴露 — 所有 IMAP/SMTP 操作均保留在 Thunderbird 中
🤖 支持 Claude Desktop — 12 个 MCP 工具,一行配置即可使用
📨 38 个 CLI 命令 — 读取、搜索、撰写、回复、批量操作、文件夹 CRUD、附件处理
🛡️ 默认安全 — 撰写/回复/转发操作保存为草稿;永久删除需要
--confirm确认🎯 Token 优化 — 支持
--fields选择、--compact模式、--max-body截断🏠 仅限本地 — 无云端、无遥测,数据不出本地机器
✅ Thunderbird 128+ — 已在 addons.thunderbird.net 上签名并获批
🧪 80 个测试 — 46 个 CLI/桥接测试 + 34 个 MCP 集成测试
快速开始
# 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 stats完整设置指南(包括后台服务、Docker、故障排除):docs/SETUP.md
使用方法
# 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 30完整命令参考:docs/COMMANDS.md
与 Claude Desktop 配合使用
添加到你的 Claude Desktop 配置文件中(macOS 上位于 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"thunderbird": {
"command": "npx",
"args": ["-y", "thunderbird-cli-mcp"]
}
}
}重启 Claude Desktop。现在你可以询问:
“我有多少封未读邮件?” “查找上个月来自 AWS 的发票” “回复消息 118,说我会参加——保存为草稿” “下载消息 245 中的 PDF 附件”
完整 MCP 指南:mcp/README.md
工作原理
组件 | 角色 |
扩展 ( | Thunderbird WebExtension。调用 |
桥接 ( | 无状态 HTTP↔WebSocket 代理守护进程。不包含业务逻辑。 |
CLI ( |
|
MCP ( |
|
Thunderbird 是事实来源。CLI 绝不会缓存或存储电子邮件数据。
对比分析
工具 | 凭据 | AI 智能体就绪 | 撰写 / 发送 | 多账户 | 运行时 |
thunderbird-cli | 保留在 Thunderbird 中 | ✅ CLI + MCP,JSON 输出 | ✅ 草稿 / 打开 / 发送 | ✅ 任何 Thunderbird 账户 | Node.js |
原生 IMAP 库 (imapflow, imaplib) | 你自己管理 | 你自己编写集成 | SMTP,独立 | 每个账户手动配置 | 不定 |
通过你的 MUA | 仅 CLI,文本输出 | ❌ 仅读取 | 通过配置 | C | |
通过你的 MUA | 仅 CLI,sexp/文本 | ❌ 仅读取 | 通过配置 | C | |
在配置文件中 | ✅ CLI,JSON 输出 | ✅ | ✅ | Rust | |
在 muttrc 中 | ❌ 交互式 TUI | ✅ | 通过配置 | C |
定位:你已经信任 Thunderbird 来处理你的凭据和账户状态。 该工具将其呈现为机器可读的 API,而无需你在其他任何地方重新配置 IMAP/SMTP。
文档
文档 | 内容 |
安装、后台服务、Docker、故障排除 | |
所有 38 个 CLI 命令的完整参考 | |
AI 智能体重点快速参考 + 安全规则 | |
Claude Desktop 集成指南 | |
完整技术规范 | |
威胁模型,提示词注入防御 | |
开发设置、代码风格、PR 流程 | |
发行说明 |
贡献
欢迎贡献。请先提交 Issue 讨论非琐碎的更改。请参阅 CONTRIBUTING.md 了解本地开发设置和 80 个测试套件。
许可证
MIT — 见 LICENSE
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vitalio-sh/thunderbird-cli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server