io.github.vitalio-sh/thunderbird-cli

Registre officiel Productivité

Give AI agents full read/write email access via Mozilla Thunderbird. Zero credentials.

Que pouvez-vous faire avec io.github.vitalio-sh/thunderbird-cli ?

  • 🔐 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

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package thunderbird-cli-mcp
Claude Code
claude mcp add thunderbird-cli -e 'TB_BRIDGE_HOST=<TB_BRIDGE_HOST>' -e 'TB_BRIDGE_PORT=<TB_BRIDGE_PORT>' -- npx -y thunderbird-cli-mcp@1.0.2
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "thunderbird-cli": {
            "command": "npx",
            "args": [
                "-y",
                "thunderbird-cli-mcp@1.0.2"
            ],
            "env": {
                "TB_BRIDGE_HOST": "<TB_BRIDGE_HOST>",
                "TB_BRIDGE_PORT": "<TB_BRIDGE_PORT>"
            }
        }
    }
}

Variables d'environnement

  • TB_BRIDGE_HOST Hostname of the thunderbird-cli-bridge (default: 127.0.0.1). Set to host.docker.internal when running inside a container.
  • TB_BRIDGE_PORT HTTP port of the thunderbird-cli-bridge (default: 7700).

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. thunderbird-cli
  2. Why
  3. Features
  4. Quick Start
  5. Usage
  6. Use with Claude Desktop
  7. How It Works
  8. How this compares
  9. Documentation
  10. Contributing
  11. License

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 stats

Full 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 30

Full command reference: docs/COMMANDS.md

Use with Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.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

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/:

# 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

Without the skill, the MCP still works. With it, Claude automatically uses the safest defaults and most efficient response shapes.

How It Works

ComponentRole
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.

How this compares

ToolCredentialsAI-agent readyCompose / sendMulti-accountRuntime
thunderbird-clistay in Thunderbird✅ CLI + MCP, JSON out✅ draft / open / send✅ any Thunderbird accountNode.js
Raw IMAP libs (imapflow, imaplib)you manage themyou wire it yourselfSMTP, separatemanual per accountvaries
notmuchvia your MUACLI only, text output❌ reader onlyvia configC
mu / mu4evia your MUACLI only, sexp/text❌ reader onlyvia configC
himalayain config files✅ CLI, JSON out✅✅Rust
mutt / neomuttin muttrc❌ interactive TUI✅via configC

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.

Documentation

DocWhat's inside
docs/SETUP.mdInstallation, background service, Docker, troubleshooting
docs/COMMANDS.mdFull reference for all 38 CLI commands
docs/CLAUDE.mdAI-agent-focused quick reference + security rules
skills/thunderbird-cli/SKILL.mdCompanion Claude Skill — recipes, safety defaults, token patterns
mcp/README.mdClaude Desktop integration guide
AGENTS.mdGuide for AI agents editing this codebase
SPEC.mdFull technical specification
SECURITY.mdThreat model, prompt-injection defenses
CONTRIBUTING.mdDev setup, code style, PR process
CHANGELOG.mdRelease notes

Contributing

Contributions welcome. Please open an issue first to discuss non-trivial changes. See CONTRIBUTING.md for local dev setup and the 80-test suite.

License

MIT — see LICENSE

Questions fréquentes

Qu'est-ce que io.github.vitalio-sh/thunderbird-cli ?

Give AI agents full read/write email access via Mozilla Thunderbird. Zero credentials.

Comment installer io.github.vitalio-sh/thunderbird-cli ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add thunderbird-cli -e 'TB_BRIDGE_HOST=<TB_BRIDGE_HOST>' -e 'TB_BRIDGE_PORT=<TB_BRIDGE_PORT>' -- npx -y thunderbird-cli-mcp@1.0.2. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.vitalio-sh/thunderbird-cli ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

io.github.vitalio-sh/thunderbird-cli est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.vitalio-sh/thunderbird-cli ?

Il est publié par vitalio-sh. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.