Rekindle
@Skitchy
About Rekindle
Your AI forgets everything between sessions.
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"rekindle": {
"command": "npx",
"args": [
"-y",
"rekindle"
]
}
}
}Tools
10Store a new memory in the local SQLite database. Creates a persistent row with an auto-generated UUID, timestamp, and the provided content. Use for preferences, lessons learned, project context, relationship notes, or general information worth remembering across sessions. Memories persist across sessions and are surfaced by boot_report, search_memory, and list_memories. Returns the generated ID on success. Does not deduplicate — calling twice with the same content creates two separate memories.
Search stored memories using SQLite full-text search (FTS5). Returns results ranked by relevance with higher-importance memories boosted. Each search increments the retrieval_count on matched memories, tracking which memories are accessed most. Use at session start to load relevant context, or mid-session to recall specific information. Returns an array of matching memories with id, content, category, importance, project, created_at, and retrieval_count. Returns an empty array if no matches are found.
List stored memories from the local SQLite database, ordered newest first. Unlike search_memory, this does not require a query — it returns all memories matching the optional filters. Read-only; does not modify any data. Use to browse what has been stored, audit memory contents, or check memory counts per category or project. Returns an array of memories with id, content, category, importance, project, and created_at.
Permanently delete a single memory from the local SQLite database by its ID. This action is irreversible — the row and its full-text search index entry are removed immediately. Use when a memory is outdated, incorrect, or no longer relevant. Returns {success: true} if the memory was found and deleted, or {success: false, message: 'Memory not found'} if the ID does not exist. Does not affect other memories or session records.
Update an existing memory in the local SQLite database. Modifies only the fields you provide — omitted fields are left unchanged. The updated_at timestamp is set automatically. If content is changed, the full-text search index is rebuilt for this memory. Returns the full updated memory object on success, or {success: false, message: 'Memory not found'} if the ID does not exist. Use to correct inaccurate memories, adjust importance, or reclassify a memory's category without deleting and re-creating it.
Generate a session orientation report. Read-only — does not modify any stored data. Reads the identity document from disk, scans the memory database for statistics and the latest checkpoint, finds the most recent transcript file, detects structural gaps (missing identity, stale memories, no checkpoint, etc.), and calculates a 0-100 orientation score across 6 criteria. Also surfaces open loops from prior sessions and any PreCompact captures that preserve context from compacted sessions. Workflow: call boot_report first thing every session, before any substantive work. Orientation scores are structural checks, not guarantees that every relevant context item was loaded.
Capture a structured session handoff. Writes multiple records to the local SQLite database: one checkpoint (required), plus optional decisions, open loops, preferences, constraints, warnings, relational delta, and next session focus. Each record is stored with a typed 'type' column (not content prefixes) and linked to a session record via session_id. Also creates a session row in the sessions table with a summary, orientation score, and gap count. The checkpoint is retrievable by boot_report on the next session start. All records are searchable via search_memory and list_memories. Workflow: call end_session at the end of every substantive session so the next session can pick up the thread.
List PreCompact captures for the current or recent sessions. PreCompact captures preserve context that would otherwise be lost during mid-session compaction. Workflow: if boot_report lists PreCompact captures, call list_captures then read_capture to recover pre-compaction context before relying on the checkpoint. Before calling end_session, check for unreviewed captures.
Read a PreCompact capture by ID. Use this to recover context that was lost during mid-session compaction. Three modes control token cost: 'summary' (one paragraph, cheap), 'structured' (decisions/loops/warnings, moderate), 'raw' (full transcript excerpt, expensive — only when summary or structured is insufficient). Workflow: read recovered captures before relying on the latest checkpoint; start with the lightest mode that answers your question.
Manually capture current session context to .rekindle/captures/. Use this when you want to preserve the current conversation state — before a complex operation, when context feels at risk, or when the user requests it. Produces the same artifact as the automatic PreCompact hook but triggered on demand. session_id and transcript_path are optional — if omitted, the most recent transcript is discovered automatically.
Overview
What is Rekindle?
Rekindle is an MCP continuity engine that solves session orientation for AI assistants like Claude Code. It stores structured context, transcripts, and memories in a local SQLite database – no API keys, no external services. Designed for users who lose time re‑explaining project context every session.
How to use Rekindle?
Run npx rekindle init in your project to create a .rekindle/ folder with a SQLite database, identity template, and transcript directory. Then add the MCP server configuration for your client (Claude Code, Claude Desktop, or Cursor) and paste the boot instructions into your CLAUDE.md. The boot_report tool runs automatically at session start; end_session captures continuity records when you finish.
Key features of Rekindle
- Boot‑time orientation pipeline with gap detection and scoring
- Structured session capture (checkpoint, decisions, open loops, etc.)
- Full‑text search with importance‑weighted BM25 ranking
- Memory storage with categories, project scoping, and importance
- Local SQLite storage – no network calls, no telemetry
- 7 MCP tools: boot_report, end_session, store/search/list/delete/update memory
Use cases of Rekindle
- Prevent AI assistants from forgetting project context between sessions
- Orient the assistant at session boot with identity, recent memories, and gap warnings
- Capture decisions, open loops, and preferences at the end of each session
- Search and manage project‑scoped memories across multiple sessions
FAQ from Rekindle
How does Rekindle differ from other memory tools like Mem0 or Letta?
Those tools focus on retrieval accuracy (can the AI find what it stored?). Rekindle solves session orientation: proactively loading identity, recent context, memory health, and missing‑context warnings at session start.
Where is my data stored, and is it secure?
All data is stored locally in a .rekindle/ SQLite database inside your project. No data is sent to external servers; the MCP server communicates only via stdio. Transcript capture is optional and disabled by default. The database is not encrypted – use OS‑level disk encryption if needed.
Which clients and transports does Rekindle support?
Claude Code (macOS, Linux/WSL2, Windows), Claude Desktop, and Cursor are tested/compatible via stdio transport. Any MCP client that supports stdio should work.
Do I need API keys or network access to use Rekindle?
No. Rekindle requires no API keys, makes no HTTP calls, and has no telemetry or analytics. Everything runs locally.
Why not just use CLAUDE.md?
A static file is passive – the AI reads it but cannot search, rank, track what’s been retrieved, or detect gaps. Rekindle adds full‑text search, structural gap detection, an orientation score, and structured session capture with checkpoints and open loops.
Frequently asked questions
How does Rekindle differ from other memory tools like Mem0 or Letta?
Those tools focus on retrieval accuracy (can the AI find what it stored?). Rekindle solves session orientation: proactively loading identity, recent context, memory health, and missing‑context warnings at session start.
Where is my data stored, and is it secure?
All data is stored locally in a `.rekindle/` SQLite database inside your project. No data is sent to external servers; the MCP server communicates only via stdio. Transcript capture is optional and disabled by default. The database is not encrypted – use OS‑level disk encryption if needed.
Which clients and transports does Rekindle support?
Claude Code (macOS, Linux/WSL2, Windows), Claude Desktop, and Cursor are tested/compatible via stdio transport. Any MCP client that supports stdio should work.
Do I need API keys or network access to use Rekindle?
No. Rekindle requires no API keys, makes no HTTP calls, and has no telemetry or analytics. Everything runs locally.
Why not just use CLAUDE.md?
A static file is passive – the AI reads it but cannot search, rank, track what’s been retrieved, or detect gaps. Rekindle adds full‑text search, structural gap detection, an orientation score, and structured session capture with checkpoints and open loops.
Basic information
More Other MCP servers
Nginx UI
0xJackyYet another WebUI for Nginx
FastMCP v2 🚀
jlowin🚀 The fast, Pythonic way to build MCP servers and clients.
ICSS
chokcoco不止于 CSS
Mcp
browsermcpBrowser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser
MCP Go 🚀
mark3labsA Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
Comments