mcpField
T
thunderbird-cli

thunderbird-cli

本地服务
github.com/vitalio-sh通信协作656 周前更新

关于 thunderbird-cli

thunderbird-cli 是一个让 AI Agent 通过 Mozilla Thunderbird 读取和写入邮件的工具。它将 Thunderbird 作为数据源,无需在工具中配置凭据,同时提供命令行和 MCP 两种入口。

主要功能

  1. 01无需凭据,IMAP/SMTP 配置保留在 Thunderbird 中
  2. 02提供 38 个命令行命令与 12 个 MCP 工具
  3. 03默认保存草稿,永久删除需要 --confirm
  4. 04支持 --fields、--compact 和 --max-body 控制输出长度
  5. 05仅监听本地主机,不上传数据

适用场景

  1. 01让 Claude Desktop 搜索并阅读多个账户中的邮件
  2. 02按发件人和时间范围查找发票等邮件附件
  3. 03以草稿形式回复或转发邮件,经人工确认后再发送

MCP 相关

该项目包含 tb-mcp 服务,向 Claude Desktop 等 MCP 客户端提供 12 个邮件相关工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"vitalio-sh-thunderbird-cli": {
"command": "npx",
"args": [
"-y",
"thunderbird-cli-mcp"
],
"env": {
"TB_BRIDGE_HOST": "<TB_BRIDGE_HOST>",
"TB_BRIDGE_PORT": "<TB_BRIDGE_PORT>"
}
}
}
}
启动命令npx -y thunderbird-cli-mcp
需要配置的环境变量
TB_BRIDGE_HOSTHostname of the thunderbird-cli-bridge (default: 127.0.0.1). Set to host.docker.internal when running inside a container.
TB_BRIDGE_PORTHTTP port of the thunderbird-cli-bridge (default: 7700).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmthunderbird-cli-mcp1.0.2

工具

12

收录的工具列表 · 更新于 2 周前

参数类型必填说明
accountIdstring否可选:将统计信息限制为指定的账户 ID
includeFoldersboolean否包含按文件夹划分的明细

详细介绍

thunderbird-cli

通过 Mozilla Thunderbird,让 Claude(以及其他 AI Agent)全面访问你的电子邮件。

tests License: MIT Node Thunderbird MCP

thunderbird-cli 演示 — Claude 通过 MCP 回答电子邮件概览问题

为什么

IMAP 库要求你管理凭据、OAuth 流程和同步状态——在 AI Agent 场景中很危险。Thunderbird 已经解决了所有这些问题。 此工具将 Thunderbird 视为事实来源,并将所有功能作为 CLI 命令或 MCP 工具提供,让 AI Agent 无需接触密码即可读取、搜索和撰写电子邮件。

经过大规模测试: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

Claude 配套技能

MCP 服务附带一个 Claude Skill。它会教 Claude 如何使用 这 12 个电子邮件工具——高效选择字段、默认保存草稿以确保安全、执行链接操作前检查信任元数据,以及常见工作流的操作指南。请从 skills/thunderbird-cli/ 安装:

# Claude Code
cp -r skills/thunderbird-cli ~/.claude/skills/

# Claude.ai — zip and upload via Settings → Capabilities → Skills
cd skills && zip -r thunderbird-cli.zip thunderbird-cli

不安装此技能,MCP 仍可正常工作。安装后,Claude 会自动采用最安全的默认设置和最高效的响应格式。

工作原理

thunderbird-cli 架构 — 客户端 → npm 入口 → 桥接守护进程 → Thunderbird

组件作用
扩展(extension/)Thunderbird WebExtension。调用 messenger.* API。包含 43 个路由处理程序。
桥接(bridge/)无状态 HTTP↔WebSocket 代理守护进程。不包含业务逻辑。
CLI(cli/)tb 命令 — 38 个命令。轻量级 HTTP 客户端。输出 JSON。
MCP(mcp/)tb-mcp 服务 — 为 Claude Desktop 精选的 12 个工具。

Thunderbird 是事实来源。CLI 从不缓存或存储电子邮件数据。

对比

工具凭据适用于 AI Agent撰写 / 发送多账户运行时
thunderbird-cli保存在 Thunderbird 中✅ CLI + MCP,输出 JSON✅ 草拟 / 打开 / 发送✅ 任意 Thunderbird 账户Node.js
原始 IMAP 库(imapflow、imaplib)由你管理需自行接入SMTP,需单独处理每个账户需手动配置不一
notmuch通过你的 MUA仅 CLI,输出文本❌ 仅阅读通过配置C
mu / mu4e通过你的 MUA仅 CLI,输出 sexp / 文本❌ 仅阅读通过配置C
himalaya在配置文件中✅ CLI,输出 JSON✅✅Rust
mutt / neomutt在 muttrc 中❌ 交互式 TUI✅通过配置C

它的独特之处:你已经信任 Thunderbird 来管理凭据和账户状态。 这个工具将其作为机器可读的 API 提供出来,无需你在其他地方重新配置 IMAP/SMTP。

文档

文档内容
docs/SETUP.md安装、后台服务、Docker、故障排除
docs/COMMANDS.md全部 38 个 CLI 命令的完整参考
docs/CLAUDE.md面向 AI Agent 的快速参考 + 安全规则
skills/thunderbird-cli/SKILL.md配套的 Claude Skill — 操作指南、安全默认设置、令牌模式
mcp/README.mdClaude Desktop 集成指南
AGENTS.md面向编辑此代码库的 AI Agent 的指南
SPEC.md完整技术规范
SECURITY.md威胁模型、提示词注入防御
CONTRIBUTING.md开发环境设置、代码风格、PR 流程
CHANGELOG.md发行说明

参与贡献

欢迎贡献。对于较大的更改,请先提交 issue 进行讨论。有关本地开发环境设置和包含 80 个测试的测试套件,请参阅 CONTRIBUTING.md。

许可证

MIT — 参见 LICENSE

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。