io.github.arose26/mbox-mcp
Search local email archives (.mbox/.eml) entirely on your machine. No OAuth, no cloud.
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 »).
mbox-mcpclaude mcp add mbox-mcp -- npx -y mbox-mcp@0.1.1
{
"mcpServers": {
"mbox-mcp": {
"command": "npx",
"args": [
"-y",
"mbox-mcp@0.1.1"
]
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
mbox-mcp
An MCP server for local email archives. Point it at a Google Takeout .mbox export or a folder of .eml files and ask Claude things like:
- "Who did I email most in this archive?"
- "Find the message where the landlord mentioned the lease renewal."
- "Summarize my correspondence with bob@example.com from early 2026."
Everything stays on your machine. No OAuth, no app passwords, no IMAP connection, no cloud. Every other email MCP server connects to a live account — this one reads the archive files you already have, which is exactly what you want for the 15 years of Gmail sitting in a Takeout export.
Quick start
Claude Code
claude mcp add mbox -- npx -y mbox-mcp
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"mbox": {
"command": "npx",
"args": ["-y", "mbox-mcp"]
}
}
}
Then: "Open C:\\Takeout\\Mail\\All mail Including Spam and Trash.mbox and tell me about it."
Tools
| Tool | What it does |
|---|---|
open_archive | Index an .mbox file or .eml directory: message count, date range, top senders |
search_messages | Search by keyword, sender, subject, date range — plus bounded body-text search |
get_message | Fully parse one message: decoded body, headers, attachment names/sizes |
Built for large archives
A Takeout mbox is often multiple gigabytes with 100k+ messages. The design reads the minimum, lazily:
- Streaming index — one pass in 8 MiB chunks, recording byte offsets; only the current message's first 16 KiB is ever held for envelope parsing (sender, subject, date, RFC 2047 decoding).
- Full MIME on demand — reading a message parses just that message (postal-mime: nested multipart, charsets, quoted-printable/base64). Attachments are listed with names and sizes, never dumped into context.
- Honest body search —
body_queryonly full-parses messages that already match your envelope filters, stops at a scan cap, and reports how many it scanned, so the model knows to narrow by sender or date first. - Staleness-aware cache — archives are indexed once per process and re-indexed if the file changes.
Notes and limitations
- mbox variants: Takeout and Thunderbird produce
mboxrd(bodyFromlines are quoted as>From), which splits cleanly. Plainmboxoarchives with unquoted bodyFromlines can over-split. - Attachment contents are never returned or written anywhere.
- PST/OST and Maildir are out of scope for now.
Development
npm install
npm test # offline tests — synthetic archives built in-suite
npm run build # tsc → dist/
node scripts/smoke.mjs # end-to-end: generates an archive, drives the server over stdio
Architecture: src/archive.ts (streaming indexer, header decoding, envelope filtering) and src/reader.ts (per-message MIME parsing) are pure logic; src/index.ts is the MCP wiring. The test suite includes a chunk-seam property test: indexing with pathological 17-byte chunks must produce an identical index to whole-file reads.
License
MIT
Questions fréquentes
Qu'est-ce que io.github.arose26/mbox-mcp ?
Search local email archives (.mbox/.eml) entirely on your machine. No OAuth, no cloud.
Comment installer io.github.arose26/mbox-mcp ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add mbox-mcp -- npx -y mbox-mcp@0.1.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.arose26/mbox-mcp ?
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.arose26/mbox-mcp est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient io.github.arose26/mbox-mcp ?
Il est publié par arose26. 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.