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.