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.

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:

  1. Open macOS System Settings > Privacy & Security > Full Disk Access.
  2. Click the + icon (or toggle ON) for:
    • Your Terminal app (Terminal, iTerm2, Ghostty, Warp).
    • Your AI desktop client if running MCP stdio (Claude Desktop, Cursor, Windsurf).
  3. Verify permission via CLI:
    ls -la ~/Library/Group\ Containers/group.net.whatsapp.WhatsApp.shared/ChatStorage.sqlite
    
    If the command prints file details, permission is active. If you see Operation not permitted, restart your terminal application.

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

  • search_messages: Hybrid lexical + vector search across approved WhatsApp conversations with RRF ranking.
  • 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).

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

Metadata

Release files for whatsapp-total-recall 0.1.9

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.1.9
File Size Uploaded Provenance
whatsapp_total_recall-0.1.9.tar.gz 82.9 kB With provenance Details

Built distribution (wheel)

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

Total release size: 166.6 kB

Release files / whatsapp_total_recall-0.1.9.tar.gz

Download URL whatsapp_total_recall-0.1.9.tar.gz
Size 82.9 kB
Tags Source
SHA-256 checksum
How to use checksums
42140f87419577fbfdb9c19705a3412cc613aafdd191ae9ed0c6902778b9b7d3
BLAKE2b-256 checksum
How to use checksums
201f269c222c3129aa7932c7375f9bd0e73a165f26e7578fb87414832dac0d30
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 24, 2026.

Transparency log

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

Download URL whatsapp_total_recall-0.1.9-py3-none-any.whl
Size 83.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
295e42c087764adbbdd5f6567fbd2856f744294e9f9756f4c633d6414c17f017
BLAKE2b-256 checksum
How to use checksums
38b45f019383caeb21c50c6881aaa798651c6625a43c38cda563c3f14e533595
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 24, 2026.

Transparency log

Security for whatsapp-total-recall 0.1.9

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.1.9.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 24, 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