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

  • list_chats: Enumerate indexed conversations with JID, name, message count, and last active timestamp.
  • search_messages: Hybrid lexical + vector search across approved conversations (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

Metadata

Release files for whatsapp-total-recall 0.2.0

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.0
File Size Uploaded Provenance
whatsapp_total_recall-0.2.0.tar.gz 88.3 kB With provenance Details

Built distribution (wheel)

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

Total release size: 177.9 kB

Release files / whatsapp_total_recall-0.2.0.tar.gz

Download URL whatsapp_total_recall-0.2.0.tar.gz
Size 88.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3ce2f01ce64bb29c8984f894ff3484bd9c393e59ad972b1c3ced8cf54a164d4e
BLAKE2b-256 checksum
How to use checksums
83fd2dabb5dd74e1262d157e11fb4a1d39929ad2125480a9dc2cee1ef4865a74
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.2.0-py3-none-any.whl

Download URL whatsapp_total_recall-0.2.0-py3-none-any.whl
Size 89.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdcf31410819866a13bc0207c09f771f90bd6396466e07d3149902add61c8817
BLAKE2b-256 checksum
How to use checksums
54e7cfe3bcda765decf94770327beabf4d93a97427081c7a9d64d73c2321b5f6
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.2.0

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.0.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