PluginBench
MCP Server
Active
MIT

io.github.vitalio-sh/thunderbird-cli MCP Server

io.github.vitalio-sh/thunderbird-cli

Give Claude full read/write email access via Mozilla Thunderbird—zero credentials, 12 MCP tools, 38 CLI commands.

What is the io.github.vitalio-sh/thunderbird-cli MCP server?

The thunderbird-cli MCP server exposes Mozilla Thunderbird's email capabilities to AI agents like Claude without requiring credential management or OAuth flows. It provides 12 MCP tools and 38 CLI commands for reading, searching, composing, and managing email across multiple accounts—all credentials stay safely in Thunderbird.

thunderbird-cli treats Thunderbird as a trusted source of truth for email, surfacing its full read/write capabilities as machine-readable tools. Instead of managing IMAP/SMTP credentials in your AI agent, you leverage Thunderbird's existing account setup and sync state. Use it to let Claude answer questions about your email, search for messages, draft replies, download attachments, and perform bulk operations—all without exposing passwords or tokens.

How to install io.github.vitalio-sh/thunderbird-cli

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • 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).

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "thunderbird-cli": {
      "command": "npx",
      "args": [
        "-y",
        "thunderbird-cli-mcp"
      ],
      "env": {
        "TB_BRIDGE_HOST": "<YOUR_TB_BRIDGE_HOST>",
        "TB_BRIDGE_PORT": "<YOUR_TB_BRIDGE_PORT>"
      }
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • stats — Get email statistics across all accounts (unread count, total messages, etc.)
  • search — Find messages by sender, subject, date range, and other criteria; supports token-efficient field selection
  • read — Retrieve a specific message with headers and body (truncatable for token efficiency)
  • reply — Compose a reply to a message and save as draft
  • compose — Create a new email message and save as draft
  • forward — Forward a message and save as draft
  • send — Send a draft message
  • attachment-download — Download an attachment from a message to a local file
  • folder-list — List all folders across accounts
  • folder-create — Create a new folder
  • bulk-move — Move multiple messages between folders based on criteria
  • health — Check bridge daemon and Thunderbird extension status

Use cases

  • Ask Claude to summarize unread emails or find invoices from specific senders without exposing your email credentials
  • Let Claude draft replies to messages and save them as drafts for your review before sending
  • Search your email archive by date, sender, or keywords and have Claude analyze the results
  • Download attachments from emails programmatically for processing or archival
  • Bulk organize old newsletters or messages by moving them to archive folders

io.github.vitalio-sh/thunderbird-cli MCP server FAQ

What is thunderbird-cli?

thunderbird-cli is an MCP server that gives AI agents like Claude full access to your email through Mozilla Thunderbird. It exposes 12 MCP tools and 38 CLI commands for reading, searching, composing, and managing email—all without exposing credentials, since Thunderbird already manages your accounts securely.

Is it free?

Yes. thunderbird-cli is open-source (MIT license) and free to use. It requires Mozilla Thunderbird (also free) and Node.js 20+.

How do I install it in Claude Desktop?

Install the npm package (thunderbird-cli-mcp), then add it to your Claude Desktop config at ~/Library/Application Support/Claude/claude_desktop_config.json with the command 'npx -y thunderbird-cli-mcp'. Restart Claude Desktop and the 12 email tools will be available.

Do I need to provide my email credentials?

No. All credentials stay in Thunderbird. The tool communicates with Thunderbird's WebExtension via a local HTTP bridge, so you never expose passwords or tokens to the MCP server or Claude.

What Thunderbird versions are supported?

Thunderbird 128 and later. The extension is signed and available on addons.thunderbird.net.

Can it send emails automatically?

Yes, but safely: compose, reply, and forward commands save as drafts by default. You must explicitly call the send command to transmit. Permanent delete requires a --confirm flag.

README (reference)

Source of truth, from the repository.

thunderbird-cli

Give Claude (and other AI agents) full access to your email through Mozilla Thunderbird.

tests License: MIT Node Thunderbird MCP

<p align="center"> <img src="assets/demo.gif" alt="thunderbird-cli demo — Claude answering an email-overview question via MCP" width="700"> </p>

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

<p align="center"> <img src="assets/architecture.png" alt="thunderbird-cli architecture — clients → npm entrypoints → bridge daemon → Thunderbird" width="900"> </p>
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

Related MCP servers

Technical SEO and AI-answer-readiness audit. Keyless; the metered tool refuses to spend silently.

View repository →

Find public biomarker education, available blood tests, panels, and budget-aware starting points.

Evidra — Flight recorder for AI infrastructure agents

Calcula o DAS do Simples Nacional e quantifica a carga que a alíquota não cobre.

0
Python
MIT
View repository →

Build, publish and read scored forms and quizzes where the score picks the next screen.

JAJapan Utils logo

Japan Utils

Maintained

Japan utilities for AI agents: era, romaji, postal codes, holidays, kana, name splitting.

0
Python
MIT
View repository →