Total Recall
Supports the Total Recall browser extension to provide persistent AI memory on web-based chat platforms within the Arc browser.
Supports the Total Recall browser extension to provide persistent AI memory on web-based chat platforms within the Brave browser.
Includes a verification engine that interacts with Git to validate information and track claims within the knowledge base.
Enables long-term memory and session persistence for AI agents on the Perplexity platform via a browser extension.
Adds persistent knowledge storage and retrieval capabilities to AI models running on the Poe platform.
Facilitates optional cloud-based synchronization of stored knowledge and session data.
Supports the Total Recall browser extension to provide persistent AI memory on web-based chat platforms within the Vivaldi browser.
The Problem
AI agents are stateless. Every session starts from zero. Mid-conversation context decays. Knowledge doesn't travel between sessions, machines, or agents — and on platforms like claude.ai or ChatGPT, you can't even connect an MCP server.
Total Recall fixes this permanently, on every platform.
What It Solves
Problem | Solution |
Agent forgets everything between sessions | Permanent knowledge base across 12 categories |
Agent forgets mid-conversation | Checksummed session state verified every turn |
Agent repeats past mistakes | Corrections loaded first + failure pattern matching |
Agent claims things without proof | Verification engine (files, git, claims) |
Knowledge conflicts go unnoticed | Contradiction detection on every write |
Context window overflows | Smart budget manager drops low-relevance entries |
Tasks span multiple sessions | Multi-session task tracking with timelines |
Claude.ai and ChatGPT have no MCP support | Chrome Extension bridges via REST API |
Connection Matrix
Platform | Connection Method | Auto-Inject | Auto-Capture |
Claude Desktop | MCP (stdio) | Via tools | Via tools |
Claude Code | MCP (stdio) | Via tools | Via tools |
Cursor | MCP (stdio) | Via tools | Via tools |
VS Code + Continue | MCP (stdio) | Via tools | Via tools |
claude.ai | Chrome Extension + REST API | Yes | Yes |
ChatGPT | Chrome Extension + REST API | Yes | Yes |
Gemini | Chrome Extension + REST API | Yes | Yes |
Perplexity | Chrome Extension + REST API | Yes | Yes |
Microsoft Copilot | Chrome Extension + REST API | Yes | Yes |
Poe | Chrome Extension + REST API | Yes | Yes |
Mistral AI | Chrome Extension + REST API | Yes | Yes |
Google AI Studio | Chrome Extension + REST API | Yes | Yes |
Any HTTP client | REST API directly | Manual | Manual |
Quick Start
For MCP Clients (Claude Desktop, Cursor, etc.)
# 1. Clone and install
git clone https://github.com/BAS-More/Total-Recall.git
cd Total-Recall
npm install
# 2. Run setup wizard
node bin/total-recall.js init
# 3. Restart your MCP client
# Total Recall is now active.For claude.ai / ChatGPT / Gemini (Chrome Extension)
# 1. Install and set up (same as above)
npm install
node bin/total-recall.js init
# 2. Start the REST API server
npm run api
# Running on http://127.0.0.1:3777
# 3. Install the Chrome extension
# Open chrome://extensions → Enable Developer Mode → Load Unpacked → select extension/
# 4. Visit claude.ai or chatgpt.com
# The extension connects automatically — look for the green dotArchitecture
┌─────────────────────────────────────────────────────────────────────┐
│ CONNECTION LAYER │
├──────────────────────┬──────────────────────┬───────────────────────┤
│ MCP Clients │ Browser Extension │ HTTP Clients │
│ Claude Desktop │ claude.ai │ curl, scripts, │
│ Claude Code │ ChatGPT │ ChatGPT Actions, │
│ Cursor, VS Code │ Gemini, Perplexity │ mobile apps │
│ Any MCP client │ Copilot, Poe, +more │ │
└──────────┬───────────┴──────────┬───────────┴──────────┬────────────┘
│ stdio (MCP) │ HTTP :3777 │ HTTP :3777
▼ ▼ ▼
┌──────────────────────┐ ┌──────────────────────────────────────────┐
│ Total Recall │ │ Total Recall REST API │
│ MCP Server │ │ (src/api.js) │
│ 26 tools │ │ /health /session/* /remember │
│ (src/index.js) │ │ /recall /context /batch-remember │
│ │ │ /stats /recall/:id │
└──────────┬───────────┘ └──────────────────┬───────────────────────┘
│ │
└─────────────────┬───────────────┘
▼
┌────────────────────────────────────────────────────────────────────┐
│ TOTAL RECALL CORE │
├────────────────────────────────────────────────────────────────────┤
│ │
│ Knowledge Engine Intelligence Layer │
│ ├── 12 categories ├── Relevance scoring (6 factors) │
│ ├── Contradiction detect ├── Trigger-based recall │
│ ├── Confidence + TTL ├── NL query routing │
│ └── Version history └── Context budget management │
│ │
│ Session System Prevention & Verification │
│ ├── State files ├── Correction engine (highest priority) │
│ ├── SHA-256 checksums ├── Failure pattern matching │
│ ├── Quality scoring ├── File + git + claim verification │
│ └── Audit trail └── Intent decomposition │
│ │
│ Scale & Resilience │
│ ├── Multi-session tasks ├── Delegation packages │
│ ├── Dependency graph ├── Predictive pre-loading │
│ ├── Sync queue └── Auto-pruning │
│ └── Cross-agent support │
│ │
├────────────────────────────────────────────────────────────────────┤
│ SQLite (WAL mode) — 11 tables, 17 indexes — better-sqlite3 │
│ │
│ Optional: Supabase cloud sync (Phase 5) │
└────────────────────────────────────────────────────────────────────┘Installation
Prerequisites
Node.js 20+ (
node --version)npm (comes with Node.js)
Git (for verification features)
Any Chromium browser (for extension: Chrome, Edge, Brave, Arc, Vivaldi)
Install
git clone https://github.com/BAS-More/Total-Recall.git
cd Total-Recall
npm install
node bin/total-recall.js initThe init wizard creates your machine ID, initializes the database, and offers to patch your Claude Desktop config automatically.
Connect to Claude Desktop
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"total-recall": {
"command": "node",
"args": ["C:\\path\\to\\Total-Recall\\src\\index.js"]
}
}
}Restart Claude Desktop. Ask it to call health_check to verify.
Connect to Claude Code
# Add to ~/.claude/.mcp.json (global, all projects)
{
"mcpServers": {
"total-recall": {
"command": "node",
"args": ["/path/to/Total-Recall/src/index.js"]
}
}
}Or add .mcp.json to a specific project directory.
Start the REST API
npm run api
# Total Recall API running on http://127.0.0.1:3777The API runs on localhost only. It accepts connections from the Chrome extension and local tools.
Install the Chrome Extension
Open
chrome://extensions(oredge://extensions)Enable Developer mode (top-right toggle)
Click Load unpacked
Select the
extension/directory from this repositoryVisit any supported AI chat platform — the extension connects automatically
Tools
26 Tools Across 9 Categories
Session Management
Tool | Purpose |
| Begin conversation, load corrections + rules |
| Refresh mid-conversation memory |
| Save files, decisions, errors, facts |
| End session with quality score |
Knowledge Operations
Tool | Purpose |
| Store facts, decisions, errors, patterns |
| Natural language search with confidence |
| Get specific entry by UUID |
| Load all entries in a category |
| Archive outdated knowledge |
Corrections
Tool | Purpose |
| Record user correction (permanent, highest priority) |
Verification
Tool | Purpose |
| Check file exists + has content + git-tracked |
| Compare local HEAD vs remote HEAD |
| Verify claim against stored decisions |
Context & Intelligence
Tool | Purpose |
| Smart load with relevance scoring + budget |
| Check token budget allocation |
Tasks & Delegation
Tool | Purpose |
| Create multi-session task |
| Update status, blockers, deliverables |
| Filter tasks by project/status |
| Create context package for agent handoff |
Dependencies & System
Tool | Purpose |
| Track component relationships |
| Change impact analysis |
| Remove relationship |
| Full system status |
| Export to JSON for backup |
| Diagnostics and repair |
| Cloud sync (Supabase) |
Knowledge Categories
Total Recall organizes knowledge into 12 categories, each with specific behavior:
Category | Loaded | Prunable | Purpose |
| Always | Never | Past mistakes — highest priority |
| Always | Never | Permanent behavioral rules |
| By relevance | After 90 days | Locked decisions with rationale |
| By relevance | After 90 days | Failures with root cause + fix |
| By relevance | After 90 days | Verified truths about systems |
| By relevance | After 90 days | Lessons and best practices |
| By trigger | After 90 days | How things work in codebases |
| By trigger | After 90 days | User working style preferences |
| By relevance | After 14 days closed | Active project risks |
| On demand | After 90 days | Historical events and context |
| Active auto-loaded | After 30 days done | Multi-session task tracking |
| By relevance | After 90 days | Component dependencies |
How Agents Use It
Session Start
│
├─► session_start("claude-desktop")
│ Returns: session_id, corrections (always loaded), rules, active tasks
│
▼
Every Turn
│
├─► session_state_read(session_id) — refresh memory of this conversation
│
├─► [Do work: write code, answer questions, make decisions]
│
├─► session_state_write(session_id, {
│ files_created, decisions_made, errors_encountered, key_facts
│ })
│
├─► remember("decision", "Use Railway for hosting", {
│ tags: ["hosting"], triggers: ["deploy"]
│ })
│
▼
Session End
│
├─► session_close(session_id, "Built auth with 15 tests")
│ Returns: quality_score (0-100), grade (A-F)
│
▼
Next Session (hours, days, weeks later)
│
├─► session_start() → corrections + rules loaded automatically
├─► recall("What did we decide about hosting?")
│ Returns: "Use Railway" (confidence: 95%, category: decision)
└─► All context preserved. Zero loss.How the Chrome Extension Works
User types message on claude.ai
│
├─► Extension intercepts (before send)
├─► Calls POST /context with the message
├─► REST API searches knowledge base, ranks by relevance
├─► Extension prepends <total-recall-context> block to message
├─► Message sent to Claude with full memory context
│
AI responds
│
├─► Extension observes the response
├─► Extracts decisions, errors, rules via pattern matching
└─► Calls POST /batch-remember to store them automaticallyConfiguration
Config File Location
Platform | Path |
Windows |
|
macOS |
|
Linux |
|
Key Settings
{
"machine_id": "auto-generated-uuid",
"machine_name": "My Machine",
"context_budget": {
"total_tokens": 200000,
"conversation_pct": 40,
"knowledge_pct": 30,
"tool_results_pct": 20,
"system_pct": 10
},
"supabase": {
"enabled": false,
"url": "https://YOUR_PROJECT.supabase.co",
"anon_key": "eyJ..."
},
"pruning": {
"archive_after_days": 90,
"never_archive": ["correction", "rule"]
}
}Config Discovery (5 levels)
CLI flag:
--config /path/to/config.json.total-recall.jsonin current working directory.total-recall.jsonwalking up to filesystem rootUser config:
~/.config/total-recall/config.jsonBuilt-in defaults (works with no config file)
CLI Commands
node bin/total-recall.js init # First-time setup wizard
node bin/total-recall.js doctor # Health check
node bin/total-recall.js export # Export knowledge to JSON
node bin/total-recall.js version # Show version
node bin/total-recall.js help # All commandsDatabase
11 tables in SQLite with WAL mode for concurrent access:
Table | Purpose |
| Core memory store (12 categories, 20+ columns) |
| Version snapshots for rollback |
| Session lifecycle + quality scoring |
| Immutable audit trail of every write |
| Multi-session task tracking |
| Component relationship graph |
| Extracted error patterns for prevention |
| Predictive pre-loading data |
| Cloud sync queue (Supabase) |
| Machine identity registry |
| Runtime configuration |
Development
npm test # Run all 204 tests
npm start # Start MCP server (stdio)
npm run api # Start REST API server (port 3777)
node bin/total-recall.js doctor # Health checkTech Stack
Runtime: Node.js 20+ (ESM modules)
Database: better-sqlite3 (WAL mode, synchronous)
MCP Protocol:
@modelcontextprotocol/sdk(stdio transport)REST API: Express 5 + cors + express-rate-limit
Validation: Zod schemas on all tool inputs
Testing:
node:test(204 tests, 62 suites)
Project Stats
Source: 34 files, ~4,600 LOC
Tests: 14 files, ~2,200 LOC
Tables: 11 with 17 indexes
Tools: 26 (22 functional, 4 stubs)
Layers: 24 across 7 phasesTroubleshooting
Check
claude_desktop_config.jsonhas the correct absolute path tosrc/index.jsUse absolute paths — relative paths won't work
Restart Claude Desktop completely (quit from system tray, not just close)
Run
node bin/total-recall.js doctorto verify database health
The REST API is not running. Start it:
npm run apiThe dot turns green when connected.
cd /path/to/Total-Recall
npm installTotal Recall uses WAL mode with auto-retry (3 attempts, exponential backoff). If persistent:
Check no other process has the database open
Run
node bin/total-recall.js doctorRestart the MCP server
# Windows
del "%APPDATA%\total-recall\data.db"
rmdir /s "%APPDATA%\total-recall\sessions"
node bin/total-recall.js init
# macOS/Linux
rm ~/.config/total-recall/data.db
rm -rf ~/.config/total-recall/sessions
node bin/total-recall.js initDocumentation
Document | Description |
Complete guide — installation, tools, config, troubleshooting | |
Instructions for AI agents using Total Recall | |
Full REST API documentation with curl examples | |
One-page quick-start for all platforms |
License
MIT License. Created by Avi Bendetsky / BAS & More.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BAS-More/Total-Recall'
If you have feedback or need assistance with the MCP directory API, please join our Discord server