mcpField
M
mbox-mcp

mbox-mcp

ローカル
github.com/arose26コミュニケーション02 週間前に更新

mbox-mcp について

mbox-mcpは、ローカルの.mboxアーカイブや.emlファイルを検索するMCPサーバーです。メールアカウントに接続せず保存済みメールを調べたい場合に向き、メッセージは必要に応じて解析し、添付ファイルの内容は返しません。

主な機能

  1. 01.mboxと.emlアーカイブのインデックス作成
  2. 02キーワードやメール項目による検索
  3. 03日付範囲での絞り込み
  4. 04個別メッセージのオンデマンド解析
  5. 05添付ファイル名とサイズの表示

活用シーン

  1. 01Takeoutエクスポートから古いメールを検索
  2. 02連絡先とのメールのやり取りを要約
  3. 03アーカイブの送信者と期間を確認

MCP 対応

MCPクライアントにアーカイブのインデックス作成、メール検索、メール取得のツールを提供します。OAuth、クラウド、IMAP接続なしでローカルファイルを読み込みます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"arose26-mbox": {
"command": "npx",
"args": [
"-y",
"mbox-mcp"
]
}
}
}
起動コマンドnpx -y mbox-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmbox-mcp0.1.1

ツール

3

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
pathstringはい.mbox ファイル(例:Google Takeout のエクスポート)または .eml ファイルを含むディレクトリへのパス

詳細

mbox-mcp

ローカルのメールアーカイブ用のMCPサーバーです。Google Takeout の .mbox エクスポート、または .eml ファイルのフォルダーを指定すると、Claude に次のような質問ができます。

  • 「このアーカイブで、最も多くメールを送った相手は誰ですか?」
  • 「大家が賃貸契約の更新に触れていたメッセージを探して」
  • 「2026 年初頭の [email protected] とのやり取りを要約して」

すべてのデータはお使いのマシンから外に出ません。 OAuth もアプリパスワードも IMAP 接続もクラウドも不要です。他のメール MCP サーバーはすべて稼働中のアカウントに接続しますが、このサーバーはすでにお持ちのアーカイブファイルを読み込みます。Takeout エクスポートに Gmail の 15 年分のメールが保存されている場合に、まさに最適です。

クイックスタート

Claude Code

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

Claude Desktop — claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "mbox": {
      "command": "npx",
      "args": ["-y", "mbox-mcp"]
    }
  }
}

その後、次のように指示します。「C:\Takeout\Mail\All mail Including Spam and Trash.mbox を開いて、内容を教えてください。」

ツール

ツール機能
open_archive.mbox ファイルまたは .eml ディレクトリをインデックス化します。メッセージ数、日付範囲、送信者の上位を表示します
search_messagesキーワード、送信者、件名、日付範囲で検索します。範囲を指定した本文検索にも対応します
get_message1 件のメッセージを完全に解析します。デコード済みの本文、ヘッダー、添付ファイル名とサイズを取得します

大規模なアーカイブ向けに設計

Takeout の mbox は複数ギガバイトになり、メッセージ数が 10 万件を超えることもよくあります。この設計では、必要最小限のデータを遅延読み込みします。

  • ストリーミングインデックス — 8 MiB のチャンクで 1 回読み込み、バイトオフセットを記録します。エンベロープ解析(送信者、件名、日付、RFC 2047 デコード)では、現在のメッセージの先頭 16 KiB だけを保持します。
  • 必要に応じた完全な MIME 解析 — メッセージを読み込む際は、そのメッセージだけを解析します(postal-mime を使用:ネストされたマルチパート、文字セット、quoted-printable/base64)。添付ファイルは名前とサイズのみを一覧表示し、コンテキストに内容を出力することはありません。
  • 正確な本文検索 — body_query は、エンベロープのフィルターにすでに一致したメッセージだけを完全に解析します。スキャン上限で処理を停止し、スキャンした件数を報告するため、モデルは最初に送信者または日付で絞り込むべきか判断できます。
  • 更新を考慮したキャッシュ — アーカイブはプロセスごとに 1 回インデックス化され、ファイルが変更されると再インデックス化されます。

注意事項と制限

  • mbox の種類:Takeout と Thunderbird は mboxrd を生成します(本文中の From 行は >From として引用されます)。そのため、正しく分割できます。本文中の From 行が引用されないプレーンな mboxo アーカイブでは、過剰に分割されることがあります。
  • 添付ファイルの内容が返されたり、どこかに書き込まれたりすることはありません。
  • PST/OST と Maildir は、現時点では対象外です。

開発

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

アーキテクチャ:src/archive.ts(ストリーミングインデクサー、ヘッダーのデコード、エンベロープのフィルタリング)と src/reader.ts(メッセージごとの MIME 解析)は純粋なロジックです。src/index.ts は MCP の接続部分です。テストスイートにはチャンク境界のプロパティテストが含まれており、特殊な 17 バイトのチャンクでインデックス化しても、ファイル全体を読み込んだ場合と同一のインデックスが生成されることを確認します。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。