Back to Browse

Wa Chat Reader MCP Server

Developer ToolsModerate5.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Unofficial read-only MCP server for your local WhatsApp chat history (stays on your machine).

About

Unofficial read-only MCP server for your local WhatsApp chat history (stays on your machine).

Security Report

5.2
Moderate5.2Moderate Risk

wa-chat-reader is a well-designed read-only MCP server for accessing local WhatsApp chat history. The codebase demonstrates strong security practices: database is opened in read-only immutable mode, no network exfiltration, proper environment variable configuration, and explicit privacy disclosures. Minor issues include broad exception handling in the tool handler and lack of input sanitization for the `days` parameter, but these do not create practical vulnerabilities given the server's constrained purpose. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 3 high severity). Package verification found 1 issue.

7 files analyzed · 8 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Semicolon-separated paths to ChatStorage.sqlite. If unset, a platform default is used.Optional

Environment variable: WHATSAPP_DB_PATHS

Semicolon-separated fallback database paths, tried after the primary paths.Optional

Environment variable: WHATSAPP_BACKUP_PATHS

Maximum look-back window in days a caller may request.Optional

Environment variable: WHATSAPP_MAX_DAYS

Set to 'true' for verbose logging to stderr.Optional

Environment variable: WHATSAPP_DEBUG

Optional path to also write logs to a file.Optional

Environment variable: WHATSAPP_LOG_FILE

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-nabheetcloud-wa-chat-reader": {
      "env": {
        "WHATSAPP_DEBUG": "your-whatsapp-debug-here",
        "WHATSAPP_DB_PATHS": "your-whatsapp-db-paths-here",
        "WHATSAPP_LOG_FILE": "your-whatsapp-log-file-here",
        "WHATSAPP_MAX_DAYS": "your-whatsapp-max-days-here",
        "WHATSAPP_BACKUP_PATHS": "your-whatsapp-backup-paths-here"
      },
      "args": [
        "wa-chat-reader"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

wa-chat-reader

Unofficial, read-only MCP server for your local WhatsApp chat history.

wa-chat-reader reads the WhatsApp ChatStorage.sqlite database that the WhatsApp desktop app keeps on your machine and exposes two tools to any MCP client (Claude Code, Claude Desktop, etc.) so you can summarize, search, and reason over your own messages. Everything runs locally — no data ever leaves your computer.

⚠️ Not affiliated with, endorsed by, or connected to WhatsApp or Meta. "WhatsApp" is a trademark of Meta Platforms, Inc. This is an independent, unofficial tool that only reads a database WhatsApp already stores on your device.


Privacy & security

This tool touches highly sensitive data — your private conversations. Read this first.

  • Read-only. The database is opened with SQLite mode=ro&immutable=1; the server never writes to, modifies, or deletes anything.
  • Local-only. There is no network code. Messages are returned to your MCP client and nowhere else. Whatever LLM/client you connect will, of course, see the message text you ask it to read — you control that by choosing which client to run.
  • Your consent, your data. Only run this against your own device and your own chats. Do not use it to access anyone else's messages.
  • macOS access. The WhatsApp database lives in a protected group container. The process running this server needs Full Disk Access (System Settings → Privacy & Security → Full Disk Access), or point WHATSAPP_DB_PATHS at a readable copy you export yourself.
  • Scope control. WHATSAPP_MAX_DAYS (default 30) caps how far back any single call can read.

Install

Requires Python ≥ 3.10. Recommended: uv so the server runs in an isolated environment.

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

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

Use in Claude Code

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

Or install as a plugin (see the marketplace section below), then ask Claude things like:

  • "Summarize my unread WhatsApp group chats from the last 3 days."
  • "List the WhatsApp chats I've been active in this week."

Configuration

All configuration is via environment variables (all optional):

VariableDefaultDescription
WHATSAPP_DB_PATHSplatform default;-separated candidate paths to ChatStorage.sqlite (first readable wins)
WHATSAPP_BACKUP_PATHS;-separated fallback paths, tried after the primary paths
WHATSAPP_MAX_DAYS30Max look-back window (days) a caller may request
WHATSAPP_DEBUGfalsetrue for verbose logging to stderr
WHATSAPP_LOG_FILEOptional path to also write logs to a file

Default database locations:

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

Tools

ToolDescription
get_whatsapp_messagesConcatenated message text from group and personal chats within a look-back window. Params: days (1–max), chat_type (all/groups/personal). Read-only.
get_whatsapp_chat_listActive chat names (no message bodies) within a look-back window. Param: days. Read-only.

Both tools are annotated readOnlyHint: true.

Bonus: activity dashboard

whatsapp_dashboard.py renders a self-contained, offline HTML dashboard of your messaging activity (volume over time, daily/weekly rhythm, top chats) straight from the same database:

python3 whatsapp_dashboard.py            # -> whatsapp_dashboard.html

The generated HTML contains real contact names — it is git-ignored and meant to stay local.

Develop

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

License

MIT © 2026 Nabheet Madan

Reviews

No reviews yet

Be the first to review this server!