Mbox MCP logo

Mbox MCP

Search local email archives (.mbox/.eml) entirely on your machine. No OAuth, no cloud.

Install Mbox MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "mbox-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "mbox-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

The install command started, but didn't respond the way we expected when we tried to talk to it.

npx -y mbox-mcp

initialize succeeded but no response to tools/list.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 5d ago.

Overview

Tools3

What Mbox MCP lets your agent do. Expand a tool for its parameters.

Self-reported~66 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

8/8 checks healthy over the last 43d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 2d ago via OSV.dev · mbox-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads37kPackage downloads in the last 30 days.
Last commit6d agoMost recent push to the default branch.
Install checkInconclusiveStarted but did not complete the MCP handshake in our test.
Tools exposed3Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

From the project README

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

Terminal
claude mcp add mbox -- npx -y mbox-mcp

Claude Desktop — add to claude_desktop_config.json:

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

ToolWhat it does
open_archiveIndex an .mbox file or .eml directory: message count, date range, top senders
search_messagesSearch by keyword, sender, subject, date range — plus bounded body-text search
get_messageFully 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_query only 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 (body From lines are quoted as >From ), which splits cleanly. Plain mboxo archives with unquoted body From lines can over-split.
  • Attachment contents are never returned or written anywhere.
  • PST/OST and Maildir are out of scope for now.

Development

Terminal
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

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Mbox MCP

mbox-mcp is an MCP server that lets you search local email archives from .mbox files or directories of .eml files through MCP-compatible clients. It indexes message envelopes, supports keyword, sender, subject, date, and bounded body searches, and can parse individual messages on demand. Archive data stays on your machine, with no OAuth, IMAP, or cloud connection.

Use `claude mcp add mbox -- npx -y mbox-mcp` with Claude Code, or add an `mbox` server using the `npx` command and `-y mbox-mcp` arguments to `claude_desktop_config.json`. After setup, ask the client to open an `.mbox` file or `.eml` directory.

mbox-mcp supports `.mbox` archives and directories of `.eml` files, including Google Takeout and Thunderbird-style `mboxrd` archives. PST, OST, and Maildir are out of scope, and plain `mboxo` archives with unquoted body `From ` lines can over-split.

mbox-mcp can search messages by keyword, sender, subject, date range, and bounded body text. Its `open_archive` tool indexes an archive and reports message counts, date ranges, and top senders; `get_message` parses one message and returns its decoded body, headers, and attachment names and sizes.

No, mbox-mcp reads the archive files on your machine and does not require OAuth, app passwords, an IMAP connection, or a cloud service. Attachment contents are never returned or written anywhere; only attachment names and sizes are listed.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMbox MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mbox-mcp?style=directory)](https://allmcps.com/mcp/mbox-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/mbox-mcp"><img src="https://allmcps.com/api/badge/mbox-mcp?style=directory" alt="Mbox MCP on AllMCPs" /></a>