Skip to main content

WhatsApp Total Recall

A Zero-Cost, Privacy-First Conversational Intelligence Engine & MCP Server for WhatsApp (macOS)

PyPI License: MIT GitHub Release

WhatsApp Total Recall is an edge-native conversational intelligence platform and Model Context Protocol (MCP) server for macOS. It passively reads local WhatsApp Catalyst SQLite archives (ChatStorage.sqlite) with zero cloud egress, zero network traffic, and zero account ban risk.


What This Package Delivers

Installing whatsapp-total-recall via pip, pipx, or uv provides:

  1. Model Context Protocol (MCP) Server: Plug into Claude Desktop, Cursor, Windsurf, or Claude Code for live conversational search across personal and group chats.
  2. Local Hybrid Search Engine: Single-file local SQLite storage combining keyword search (FTS5 BM25) and dense semantic vector search (sqlite-vec SIMD KNN) via Reciprocal Rank Fusion (RRF).
  3. Privacy Vault Perimeter: Opt-In Chat Vault with strict contact isolation and cryptographic revocation purges (PRAGMA secure_delete).
  4. Local Web UI & API Server: Embedded zero-dependency web interface running locally on http://127.0.0.1:8765.

🤖 1-Liner Agent Installation

Paste this single line into your AI assistant or agent chat (Claude Code, Cursor, Windsurf, Antigravity, Roo Code):

Please read https://raw.githubusercontent.com/vyavahareyash/whatsapp-total-recall/main/AGENT_INSTALL.md and install + configure WhatsApp Total Recall MCP for this environment.

Prerequisites: Granting macOS Full Disk Access

WhatsApp on macOS stores its SQLite message database in a protected App Group sandbox:

~/Library/Group Containers/group.net.whatsapp.WhatsApp.shared/ChatStorage.sqlite

Because macOS restricts access to group containers by default, you must grant Full Disk Access (FDA) to any application reading this database:

1. Open macOS Full Disk Access Settings

Run this shortcut in Terminal to open the settings pane immediately:

open "x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"

(Or navigate manually to System Settings > Privacy & Security > Full Disk Access).

2. Enable Permissions

Toggle ON (or click + to add):

  • Terminal app (Terminal, iTerm2, Ghostty, Warp) — required for CLI commands and background ingestion jobs.
  • AI client or IDE (Claude Desktop, Cursor, Windsurf, VS Code) — required when MCP servers are spawned by desktop assistants.

3. Verify Permission via CLI

Run this quick diagnostic check:

test -r ~/Library/Group\ Containers/group.net.whatsapp.WhatsApp.shared/ChatStorage.sqlite && echo "✅ Full Disk Access granted" || echo "❌ Access denied - Grant Full Disk Access in macOS Settings"

Local Embeddings Requirement (Ollama)

WhatsApp Total Recall powers hybrid search (RRF) by combining lexical BM25 (FTS5) with dense vector embeddings (sqlite-vec, 768-dim):

  1. Install Ollama (if not already installed):

    brew install ollama
    

    (Or download installer from ollama.com).

  2. Pull the default local embedding model:

    ollama pull nomic-embed-text
    
  3. Ensure Ollama is running in the background (ollama serve or Ollama app).


Installation

Install globally using uv (recommended) or pipx:

# With SIMD-accelerated vector search (recommended):
uv tool install "whatsapp-total-recall[vec]"

# Or via pipx:
pipx install "whatsapp-total-recall[vec]"

# Or standard pip:
pip install "whatsapp-total-recall[vec]"

Model Context Protocol (MCP) Integration

Connect WhatsApp Total Recall directly to your AI desktop clients without manual environment setup:

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "whatsapp-total-recall": {
      "command": "uvx",
      "args": ["--from", "whatsapp-total-recall[vec]", "whatsapp-total-recall", "mcp"]
    }
  }
}

(Or use "command": "whatsapp-total-recall" if installed globally).

Cursor & Windsurf

In Cursor (Settings > Features > MCP) or .cursor/mcp.json:

{
  "mcpServers": {
    "whatsapp-total-recall": {
      "command": "uvx",
      "args": ["--from", "whatsapp-total-recall[vec]", "whatsapp-total-recall", "mcp"]
    }
  }
}

Claude Code (CLI)

claude mcp add whatsapp-total-recall -- uvx --from "whatsapp-total-recall[vec]" whatsapp-total-recall mcp

Exposed MCP Tools

  • list_chats: Enumerate indexed conversations with JID, name, message count, and last active timestamp.
  • search_conversations: Semantic hybrid RAG search (RRF: BM25 + dense vectors) over multi-turn episodes (with optional chat_id filter).
  • search_messages: Fast BM25 lexical keyword search across individual messages (with optional chat_id filter).
  • get_chat_history: Retrieve sequential chronological message streams before/after a message ID or latest conversation turns.
  • get_thread_context: Reconstruct multi-turn reply DAGs and conversation branches around specific messages.
  • stage_reply_draft: Synthesize tone-matched reply drafts staged in the local Review Box (no autonomous sending).

Agent Skills Installation (Claude Code, Antigravity, Cursor)

Install the official Total Recall skill to equip AI coding assistants with deep chat exploration workflows:

# Install to all detected agent harnesses (Claude Code, Antigravity, Cursor):
whatsapp-total-recall install-skill

# Or install to a specific agent harness:
whatsapp-total-recall install-skill --target claude

CLI Quick Start

1. Approve Chats in Privacy Vault

# Quick approve all discovered WhatsApp chats at once:
whatsapp-total-recall vault approve --all

# Or approve a specific contact or group JID:
whatsapp-total-recall vault approve "123456789@s.whatsapp.net"

2. Ingest Messages

# Ingest approved 1:1 chats:
whatsapp-total-recall ingest

# Ingest approved group chats with reply DAG attribution:
whatsapp-total-recall ingest --include-groups

3. Search Locally

whatsapp-total-recall search "project deadline" --k 5

4. Launch Desktop Web UI

whatsapp-total-recall ui

5. Complete Opt-Out & Reset

# Securely wipe index database, configs, skills, and MCP registrations:
whatsapp-total-recall reset

# Or bypass confirmation prompt:
whatsapp-total-recall reset --force

Metadata

Release files for whatsapp-total-recall 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for whatsapp-total-recall 0.2.2
File Size Uploaded Provenance
whatsapp_total_recall-0.2.2.tar.gz 95.2 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for whatsapp-total-recall 0.2.2
File Interpreter ABI Platform
whatsapp_total_recall-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 188.4 kB

Release files / whatsapp_total_recall-0.2.2.tar.gz

Download URL whatsapp_total_recall-0.2.2.tar.gz
Size 95.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f737810ba0f8ec8451bc6bc37ef6f685b56d83a1bf52dddbd0ad69c42b3de410
BLAKE2b-256 checksum
How to use checksums
b04194a5853c18a8404a43cbab7dc5c21a77ac1995f20319ced10c0d7d5082db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Release files / whatsapp_total_recall-0.2.2-py3-none-any.whl

Download URL whatsapp_total_recall-0.2.2-py3-none-any.whl
Size 93.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e5472aa2acd43416c83d24e538ee9f0092f1ce917ef3547ae66c7947f956ae35
BLAKE2b-256 checksum
How to use checksums
7d8036dd0dd26aebae86f4752d54a4e2762bb243066566bef6b3046018233e08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Security for whatsapp-total-recall 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for whatsapp_total_recall-0.2.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page