mcpField
W
WhatsApp Chat Reader (Unofficial)

WhatsApp Chat Reader (Unofficial)

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

WhatsApp Chat Reader (Unofficial) について

WhatsApp Chat Reader (Unofficial)は、WhatsAppデスクトップアプリのローカルチャットデータベースを読み取る読み取り専用ツールです。自分の会話履歴を検索・分析したい人向けで、データは端末内にとどまり、MCPクライアントからメッセージやアクティブなチャット名を取得できます。

主な機能

  1. 01ローカルチャットデータベースへの読み取り専用アクセス
  2. 02指定期間内のメッセージ本文を取得
  3. 03グループまたは個人チャットで絞り込み
  4. 04アクティブなチャット名の一覧
  5. 05オフラインのアクティビティダッシュボード生成

活用シーン

  1. 01最近のグループ会話の要約
  2. 02期間内にアクティブだったチャットの確認
  3. 03メッセージ活動の時間的な変化の確認

MCP 対応

MCP サーバーとして、メッセージ本文の取得とアクティブなチャット一覧の読み取り専用ツールを提供します。データはローカルのMCPクライアントにのみ返されます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"nabheetcloud-wa-chat-reader": {
"command": "uvx",
"args": [
"wa-chat-reader"
],
"env": {
"WHATSAPP_DB_PATHS": "<WHATSAPP_DB_PATHS>",
"WHATSAPP_BACKUP_PATHS": "<WHATSAPP_BACKUP_PATHS>",
"WHATSAPP_MAX_DAYS": "<WHATSAPP_MAX_DAYS>",
"WHATSAPP_DEBUG": "<WHATSAPP_DEBUG>",
"WHATSAPP_LOG_FILE": "<WHATSAPP_LOG_FILE>"
}
}
}
}
起動コマンドuvx wa-chat-reader
設定が必要な環境変数
WHATSAPP_DB_PATHSSemicolon-separated paths to ChatStorage.sqlite. If unset, a platform default is used.
WHATSAPP_BACKUP_PATHSSemicolon-separated fallback database paths, tried after the primary paths.
WHATSAPP_MAX_DAYSMaximum look-back window in days a caller may request.
WHATSAPP_DEBUGSet to 'true' for verbose logging to stderr.
WHATSAPP_LOG_FILEOptional path to also write logs to a file.

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

パッケージ
pypiwa-chat-reader0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

wa-chat-reader

ローカルのWhatsAppチャット履歴を対象とする、非公式かつ読み取り専用のMCPサーバーです。

wa-chat-readerは、お使いの端末にWhatsAppデスクトップアプリが保存しているWhatsAppのChatStorage.sqliteデータベースを読み取り、あらゆるMCPクライアント(Claude Code、Claude Desktopなど)に2つのツールを提供します。これにより、ご自身のメッセージを要約、検索し、内容について考察できます。すべての処理はローカルで行われ、データがコンピューターの外部に送信されることはありません。

⚠️ WhatsAppまたはMetaとは提携、推奨、関係のいずれもありません。 「WhatsApp」はMeta Platforms, Inc.の商標です。このツールは独立した非公式ツールであり、お使いのデバイスにWhatsAppがすでに保存しているデータベースを読み取るだけです。


プライバシーとセキュリティ

このツールは、プライベートな会話など、非常に機微なデータを扱います。最初にこちらをお読みください。

  • 読み取り専用です。 データベースはSQLiteのmode=ro&immutable=1で開かれます。サーバーがデータを書き込んだり、変更したり、削除したりすることはありません。
  • ローカルのみで動作します。 ネットワーク関連のコードはありません。メッセージはMCPクライアントに返されるだけで、それ以外の場所に送信されることはありません。接続するLLM/クライアントは、読み取りを指示したメッセージのテキストを当然確認できます。実行するクライアントを選ぶことで、その内容を制御できます。
  • ご自身の同意とデータを尊重してください。 ご自身のデバイスとチャットに対してのみ実行してください。他人のメッセージへのアクセスには使用しないでください。
  • macOSでのアクセス。 WhatsAppのデータベースは保護されたグループコンテナにあります。このサーバーを実行するプロセスにはフルディスクアクセス(システム設定 → プライバシーとセキュリティ → フルディスクアクセス)が必要です。または、WHATSAPP_DB_PATHSに、ご自身でエクスポートした読み取り可能なコピーのパスを指定してください。
  • 対象範囲の制御。 WHATSAPP_MAX_DAYS(デフォルトは30)により、1回の呼び出しで読み取れる期間の上限が設定されます。

インストール

Python ≥ 3.10が必要です。サーバーを隔離された環境で実行できるuvの使用を推奨します。

# one-shot run (no install)
uvx wa-chat-reader

# or install with pip
pip install wa-chat-reader
wa-chat-reader

Claude Codeでの使用

claude mcp add wa-chat-reader -- uvx wa-chat-reader

または、プラグインとしてインストールして(下記のマーケットプレイスのセクションを参照)、Claudeに次のような質問をしてみてください。

  • 「過去3日間の未読WhatsAppグループチャットを要約してください。」
  • 「今週アクティブにやり取りしたWhatsAppチャットを一覧表示してください。」

設定

設定はすべて環境変数で行います(いずれも任意です)。

変数デフォルト説明
WHATSAPP_DB_PATHSプラットフォームごとのデフォルトChatStorage.sqliteの候補パスを;で区切って指定します(最初に読み取り可能なパスが使用されます)
WHATSAPP_BACKUP_PATHS—;で区切ったフォールバックパスです。プライマリパスの後に試されます
WHATSAPP_MAX_DAYS30呼び出し元が指定できる遡及期間の上限(日数)
WHATSAPP_DEBUGfalsetrueにすると、stderrに詳細なログを出力します
WHATSAPP_LOG_FILE—ログをファイルにも書き込む場合の任意のパス

デフォルトのデータベースの場所:

OSパス
macOS~/Library/Group Containers/group.net.whatsapp.WhatsApp.shared/ChatStorage.sqlite
Windows~/AppData/Roaming/WhatsApp/Databases/ChatStorage.sqlite
Linux~/.local/share/whatsapp/ChatStorage.sqlite

ツール

ツール説明
get_whatsapp_messages指定した遡及期間内のグループチャットと個人チャットから、メッセージテキストを連結して取得します。パラメーター:days(1~最大値)、chat_type(all/groups/personal)。読み取り専用です。
get_whatsapp_chat_list指定した遡及期間内のアクティブなチャット名を取得します(メッセージ本文は含みません)。パラメーター:days。読み取り専用です。

どちらのツールにもreadOnlyHint: trueが注釈されています。

おまけ:アクティビティダッシュボード

whatsapp_dashboard.pyを実行すると、同じデータベースからメッセージのアクティビティ(時間ごとの件数、日次・週次の傾向、上位のチャット)を表示する、自己完結型のオフラインHTMLダッシュボードを生成します。

python3 whatsapp_dashboard.py            # -> whatsapp_dashboard.html

生成されるHTMLには実際の連絡先名が含まれます。このファイルはgitの追跡対象から除外されており、ローカルに保存しておくことを想定しています。

開発

git clone https://github.com/NabheetCloud/wa-chat-reader
cd wa-chat-reader
pip install -e .
python3 simple_whatsapp_mcp.py           # run from source without installing

ライセンス

MIT © 2026 Nabheet Madan

コメント

MCP は初めてですか?

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

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