LoreConvo
OfficialLoreConvo is a persistent, local-first AI memory layer that captures, organizes, and retrieves session context across multiple AI coding tools (Claude Code, Cursor, Codex, Hermes).
Core Session Management
Save, retrieve, search, and inspect sessions with full-text search (FTS5)
Pull relevant prior context for a given topic (
get_context_for)Filter sessions by project, skill, persona, tags, or time range
Session Organization & Linking
Tag sessions with hierarchical personas, link related sessions (
continues,related,supersedes), pin important sessions, and set expiry dates
Project Workspaces
Create named project workspaces with descriptions, skills, personas, and persistent instructions
View session history, skill usage stats, and open questions per project
Memory Consolidation
Consolidate sessions into structured digests of decisions, open questions, and tech stack facts
Retrieve digests and consolidation logs without re-running analysis
Anti-Pattern Tracking
Flag, retrieve, and untag sessions representing approaches to avoid
Proactive Suggestions
Surface sessions with unresolved questions, key decisions, or skill gaps before starting new work
Import, Export & Migration
Export/import sessions as JSON or JSONL; export in Anthropic managed-agents format (Pro)
Pro / Semantic Search
Build a LanceDB vector index with BGE-small-en-v1.5 embeddings for hybrid semantic retrieval
Link sessions to LoreDocs documents (Pro + LoreDocs Pro)
Administration
Check license tier (Free/Pro), view usage stats, run the onboarding wizard, and verify server status
LoreConvo v0.8.10
Your memory follows your identity, not your tool — with your consent.
LoreConvo is the only AI memory that carries your context across Claude Code, Codex, Cursor, and Hermes Agent. One install, one memory, everywhere you code.
Install directly from Claude Code's plugin marketplace, or via PyPI:
uvx loreconvo
Why LoreConvo?
Works wherever you work
LoreConvo works across Claude Code, Cursor, Codex, and Hermes -- the same memory layer, no matter which client you reach for. When you switch mid-project, your context travels with you automatically.
Most tools wall off memory by machine or workspace. LoreConvo stores everything locally in a SQLite database you own, and surfaces it wherever you are. Capture happens two ways: explicitly via the save tools, or automatically at session end if you install the optional hooks. Either way, you can inspect, edit, or delete any memory at any time.
You control what gets saved
LoreConvo puts you in control: automatic capture only runs if you choose to install the session hooks, every save is inspectable, and you can delete any memory at any time.
Every memory shows you exactly where it came from — which surface captured it, when, what project context it belongs to, and which skill generated it. No mystery. Full provenance.
Your memory stays on your machine
LoreConvo stores everything in a SQLite database on your own machine. Your data stays local unless you explicitly enable the optional AI summarization feature (Pro, off by default), which sends a transcript excerpt to the Anthropic API using your own key. No cloud accounts. No vendor with access to your session history.
Your sessions live in ~/.loreconvo/sessions.db -- a file you own, can back up, and can delete whenever you want.
Structured memory, not raw transcripts
LoreConvo captures two types of memory for each session:
Episodic memory: what happened -- summaries, artifacts created, open questions left behind
Semantic memory: what was decided -- stable conclusions about the project that persist across sessions
Together these give Claude a structured, searchable record of your project's history, not just a pile of chat transcripts.
Related MCP server: Tages
Recall Benchmark
LoreConvo's FTS5 search is benchmarked against a 60-session synthetic corpus (6 topic areas, 36 labeled queries).
Variant | Recall@5 | MRR |
FTS5 + compound token expansion (default) | 88.9% | 0.875 |
FTS5 baseline (no expansion) | 72.2% | 0.708 |
Compound token expansion (camelCase / snake_case query preprocessing) lifts Recall@5 by +35.7 pp on queries using technical identifiers like autoSave, pipeline_tracker, and get_context_for.
Full benchmark report | Reproduce
Quick Start
One command to install:
bash install.shThis creates a virtual environment, installs dependencies, and verifies everything works. No system Python changes, no manual pip commands.
Using LoreConvo
Claude Code (Terminal)
Start a session with the plugin loaded:
claude --plugin-dir /path/to/loreconvoOr load it inside an existing session:
/plugin add /path/to/loreconvoReplace /path/to/loreconvo with wherever you saved the source folder.
After making code changes, use /reload-plugins to refresh without restarting.
Once loaded, Claude has access to all 36 LoreConvo MCP tools automatically. Ask Claude to "save this session" or "recall what we discussed about X" and it will use the tools on its own.
Cowork (Desktop App)
Click the + button next to the prompt box
Select Plugins
Select Add plugin
Browse to the
loreconvosource folder
Important: Shared Database Access
Cowork runs in a sandboxed VM and can't see your Mac's filesystem by default. To read sessions saved by Claude Code, ask Claude in Cowork:
"Mount my ~/.loreconvo folder"
Once mounted, Cowork reads and writes to the same database as Claude Code. Sessions saved in Code appear instantly in Cowork.
Claude Chat (Web)
Chat doesn't support plugins, so LoreConvo provides a one-command bridge. Run this in your terminal:
bash export-to-chat.shThis exports your last session and copies it to your clipboard (macOS). Switch to Chat and paste (Cmd+V). Chat instantly has the context from your Code or Cowork session.
To search for a specific session:
bash export-to-chat.sh "tax prep"How It Works Across Surfaces
The core value of LoreConvo is that context persists across Claude surfaces automatically. Here is the full chain:
Claude Code (~/.claude/settings.json via `claude mcp add`)
|-- SessionEnd hook --> auto_save.py --> ~/.loreconvo/sessions.db
|-- SessionStart hook <-- auto_load.py <-+
|
Cursor (.cursor/mcp.json) <--MCP-----+
Codex (~/.codex/config.toml) <--MCP-+
Hermes Agent (~/.hermes/config.yaml) <-MCP-+
All surfaces: save_session / get_recent_sessions / search_sessions
Claude Chat (web)
|-- export-to-chat.sh --> clipboard --> paste into ChatClaude Code is the primary surface. The hooks run automatically:
When a session ends,
auto_save.pycaptures the conversation and saves a structured summary (decisions, artifacts, open questions, tags) to the local SQLite database.When a new session starts,
auto_load.pyqueries the database, scores recent sessions by signal quality, and injects the most relevant context into the session as system context. Sessions with open questions and decisions score highest; low-signal sessions are filtered out. It also indexes any MEMORY.md found in the project directory (see MEMORY.md Auto-Indexing below).
Cursor connects via .cursor/mcp.json in the project root -- the same MCP protocol as Claude Code. See INSTALL.md for setup details.
OpenAI Codex connects via ~/.codex/config.toml using a [mcp_servers.<name>] section. See INSTALL.md for setup details.
Hermes Agent connects via ~/.hermes/config.yaml under the mcp_servers: key. See INSTALL.md for setup details.
Claude Chat (web) does not support plugins. The export-to-chat.sh script bridges the gap: it exports your most recent session to your clipboard so you can paste it directly into Chat. This gives Chat the same context that Code would have loaded automatically.
The result: when you switch surfaces mid-project, you never have to re-explain what you were doing.
Your Data is Always Available
LoreConvo works through MCP tools when they are available and falls back to bundled scripts automatically when they are not. Your sessions are safe regardless of MCP status -- the same save, search, and recall operations work either way. You do not need to configure anything; the plugin skill handles the switch silently.
Project Workspaces
LoreConvo projects are persistent workspaces -- every session, decision, and artifact from your work on a project is searchable from any Claude surface.
# Create a project workspace
create_project("my-api", "REST API project", expected_skills=["openapi", "python"])
# Add persistent project instructions (optional)
create_project(
"my-api",
description="REST API project",
instructions="Python 3.10+, SQLite only. No cloud dependencies. Deploy via Docker."
)
# See recent sessions, skill usage, and open questions for the project
get_project("my-api")
# Search scoped to the project
search_sessions("auth design", project="my-api")Project Instructions (optional): When you create a project, you can store persistent instructions or constraints that Claude will see at session start. This is useful for enforcing project-wide standards without repeating them in every CLAUDE.md file. Instructions are displayed in the auto-load context before recent session summaries.
Used with LoreDocs, LoreConvo forms a portable project workspace for all of Claude -- session memory AND structured knowledge, entirely on your machine. Where cloud AI workspaces tie you to one ecosystem, the Lore pair works across every Claude surface you already use.
MEMORY.md Auto-Indexing
If your project has a MEMORY.md file, LoreConvo automatically indexes it at every session start. The contents become searchable alongside your regular sessions via search_sessions.
This means Claude can recall project conventions, team notes, or architectural decisions from MEMORY.md without you having to mention them. Search results from MEMORY.md are tagged memory_md and have source='file_memory' so you can tell them apart from regular session entries.
Which directory is scanned?
By default, LoreConvo scans the directory where Claude Code is running (the current working directory). To point it at a different directory, pass LORECONVO_PROJECT_PATH as an env flag in your claude mcp add --scope user command:
"--env=LORECONVO_PROJECT_PATH=/Users/YOUR_USERNAME/projects/my_project"Replace YOUR_USERNAME and my_project with your actual values. Use the full absolute path -- do not use ~ or $HOME.
Filtering MEMORY.md entries in search results
To include MEMORY.md entries in a search, use search_sessions normally -- they appear automatically. To see only MEMORY.md entries, filter by tag:
"Search LoreConvo sessions tagged memory_md for 'database conventions'."
The index is updated each time a session starts (idempotent -- no duplicates accumulate).
Verify Installation
After installing, verify LoreConvo is working by asking Claude:
"Run
get_recent_sessionsand show me the results."
If you see a list of sessions (or an empty list if this is your first time), LoreConvo is connected. If you get an error about missing tools, re-run bash install.sh and reload the plugin.
For hooks verification (Claude Code only):
"Check if LoreConvo auto-loaded any context at the start of this session."
If the SessionStart hook is working, Claude will have received context from your recent sessions automatically.
Recommended CLAUDE.md Setup
For the best experience, add the following snippet to your ~/.claude/CLAUDE.md (global) or your project's CLAUDE.md. This tells Claude how to use LoreConvo consistently across sessions.
## LoreConvo (persistent session memory)
At session start:
1. Call `get_recent_sessions` to check for recent context relevant to the current work.
2. Use this context to avoid re-explaining things already discussed in prior sessions.
During the session:
- If important decisions are made or domain knowledge is shared, note it for the session summary.
At session end:
- Call `save_session` with a summary of what was accomplished, key decisions, open questions,
and any artifacts created. Use appropriate tags (e.g., project name, surface).For Cowork users: Cowork does not run hooks automatically. Add instructions to call get_recent_sessions at session start and save_session at session end in your project CLAUDE.md. See COWORK_RESTORE.md for details.
Plans: Free vs Pro
LoreConvo is local-first and free to use. Pro ($8/mo) removes the session limit and unlocks LLM-quality summaries, hybrid retrieval search, and cross-product linking. Everything runs on your machine on either plan -- Pro adds no cloud component.
Free tier search: keyword (FTS5) + recency ordering. Pro tier search: hybrid retrieval -- vector (BGE-small-en-v1.5), BM25 full-text, and recency reranking combined via RRF fusion. Finds sessions by meaning, not just keywords.
Free | Pro ($8/mo) | |
Saved sessions | 50 | Unlimited |
Full-text search (FTS5) | Yes | Yes |
MEMORY.md auto-indexing | Yes | Yes |
Project tagging, session linking, skill history | Yes | Yes |
Auto-load / auto-save hooks | Yes | Yes |
Local-first, no cloud, zero API costs | Yes | Yes |
Related-session discovery | Keyword co-occurrence | Embedding-based (BGE-small-en-v1.5) |
LLM async session summarization | -- | Yes (Claude Haiku, opt-in) |
Hybrid retrieval: vector + BM25 + recency reranking ( | -- | Yes (Pro) |
Cross-product document linking ( | -- | Yes (also requires LoreDocs Pro) |
Team memory -- export/merge sessions across machines | -- | Yes |
Anthropic managed-agent export ( | -- | Yes |
Check your current tier and usage with get_tier. Activate a Pro license with
vault_set_tier.
Features
Automatic session capture: Sessions save at session end and load at session start via Claude Code hooks -- no manual
save_sessioncall requiredCross-client memory: Your context follows you across Claude Code, Cursor, Codex, and Hermes -- not locked to one IDE or machine
Structured sessions: Captures decisions, artifacts, open questions -- not just raw text; optional reasoning_notes field stores agent reasoning chains
Project organization: Group sessions by project with expected skill sets
Skill tracking: Record which skills were used for smart filtering
Persona tagging: Hierarchical personas for agent-specific memory (e.g.,
ron-bot:sql)Full-text search: SQLite FTS5 for fast keyword search across all sessions
MEMORY.md auto-indexing: Your project MEMORY.md is automatically indexed at session start and is searchable alongside regular sessions via
search_sessionsLLM async session summarization (Pro): Auto-saved sessions are upgraded to LLM-quality summaries in the background using Claude Haiku. Opt in by setting
LORECONVO_ANTHROPIC_API_KEY. A daily cap (LORECONVO_SUMMARIZER_DAILY_CAP, default 100) prevents runaway API spend. Pro tier only.Embedding-based related session discovery (Pro):
get_related_sessionsautomatically discovers sessions with similar content using BGE-small-en-v1.5 embeddings (cosine >= 0.75). Up to 10 bidirectional auto-links per save, same-project scoped. Free tier gets keyword co-occurrence links. SetLORECONVO_EMBEDDING_LINKS=0to disable embedding links.Cross-product document linking (Pro): Automatically discovers and links the LoreDocs documents most relevant to any session, and vice versa. Uses two new tools:
get_docs_for_sessionandsession_link_doc. Requires both LoreConvo Pro and LoreDocs Pro.Local-first: SQLite database, no cloud dependency, zero API costs
Tiers
Free - 50 sessions
Full feature set: auto-load, full-text search, tagging, session linking, export and import
Local SQLite storage -- your data, your machine, no cloud account required
One-click install via the Anthropic Marketplace
Pro - $8/month
Unlimited sessions
Team memory: share sessions with teammates (local-first async export/import, no server required)
Related session discovery and semantic search
Anthropic managed-agents export
LLM-quality session summarization in the background (async)
MCP Tools
LoreConvo provides 36 MCP tools that Claude calls automatically during sessions. The table below shows the most commonly used ones -- see MCP Tool Catalog for the complete reference.
Tool | What it does |
| Save a session summary with decisions, artifacts, and tags |
| List recent sessions, optionally filtered by surface |
| Retrieve a specific session by ID |
| Full-text search across all saved sessions |
| Pull relevant context for a topic (best for "recall" use) |
| Add a persona tag to a session |
| Connect related sessions with a relationship type |
| Find sessions related to a given session |
| Create a named project with expected skills |
| Get project details and associated sessions |
| List all projects |
| See which sessions used a specific skill |
| Proactive suggestions for relevant context to load |
| Check current tier and license key status |
| Set the active tier (free or pro) |
| Export sessions to a portable JSON format |
| Import sessions from a previously exported JSON file |
| Merge related sessions into persistent memory entries (Recall) |
| Inject a condensed memory digest into the current session (Recall) |
| Mark a session to expire and be pruned after a given date |
| Show usage statistics (session count, surface breakdown) |
| Inspect session internals for debugging |
| Export sessions in Anthropic managed-agent format (Pro) |
| Rebuild the LanceDB semantic search index (Pro) |
| First-time setup wizard |
| View the consolidation activity log |
| Retrieve LoreDocs documents linked to a specific session (Pro -- requires LoreDocs Pro) |
| Manually create a link between a session and a LoreDocs document (Pro -- requires LoreDocs Pro) |
| Pin or unpin a session to exclude it from automated cleanup |
| List sessions tagged as anti-patterns (approaches to avoid) |
| Tag a session as an anti-pattern so future recalls flag it |
| Remove an anti-pattern tag from a session |
| Save a structured memory item: a decision, open question, or artifact |
| Query structured memory items by type, project, status, and recency |
| Move a memory item through its lifecycle (retire, answer, wont-answer) |
| Correct a memory item's title, body, tags, or metadata, or move it between projects |
Requirements
Python 3.10+
macOS or Linux
mcpandclick(auto-installed byinstall.sh)
Data and Privacy
LoreConvo is local-first. All data lives in ~/.loreconvo/sessions.db on your machine.
Data collected: Session titles, summaries, tags, surface identifiers, project names, and skill names you provide when saving. No telemetry, usage analytics, or identifiers are collected automatically.
Storage: SQLite database at
~/.loreconvo/sessions.db. No cloud storage. Override the path with theLORECONVO_DBenvironment variable.Third-party sharing: None by default. Data leaves your machine only if you enable optional AI summarization (Pro) by setting
LORECONVO_ANTHROPIC_API_KEY, which sends a bounded transcript excerpt to the Anthropic API under your own key. Leave the key unset and everything stays local.Retention: Data is retained until you delete it via
delete_sessionor remove the database file manually. No automatic expiry.
Full privacy policy: https://labyrinthanalyticsconsulting.com/privacy
Troubleshooting
MCP tools not showing up in Claude Code?
Make sure you ran bash install.sh first. The .venv must exist with dependencies installed.
"No module named 'mcp'" error?
The .mcp.json points to .venv/bin/python3 inside the plugin folder. If you moved the folder, re-run bash install.sh.
Cowork can't see sessions saved in Code? Ask Claude to "mount my ~/.loreconvo folder" so Cowork can access the shared database.
Fallback Script (Direct DB Access)
If the MCP server is unreachable (e.g., in scheduled tasks or automation scripts), scripts/save_to_loreconvo.py provides the same core operations directly against the SQLite database.
# Save a session
python scripts/save_to_loreconvo.py \
--title "Daily QA run" \
--surface "qa" \
--summary "Ran full test suite. All passing." \
--tags '["qa", "automated"]'
# Read recent sessions
python scripts/save_to_loreconvo.py --read --limit 5
# Filter by surface
python scripts/save_to_loreconvo.py --read --surface code --limit 3
# Search sessions
python scripts/save_to_loreconvo.py --search "tax pipeline"The script auto-discovers the database at ~/.loreconvo/sessions.db (or pass --db-path explicitly). It generates proper UUIDs and writes the same schema as the MCP save_session tool.
What's New
v0.8.10 (2026-07-31)
Changed: Hook output format change -- recalled-content trust boundary
The auto-load SessionStart hook now wraps recalled session/digest content in
an explicit untrusted-data delimiter (<system-reminder id="...">...</system-reminder>)
before injecting it into Claude Code's context, with a per-session nonce, a
provenance line per session ("heuristic capture", "LLM summarized (Pro)",
etc.), and the removal of the prior free-floating instruction-like sentence
at the end of the block.
This is a framing/boundary-integrity fix (SH-13436), not a claim to solve prompt injection. The injected-context text format has never been a documented, stable contract for this hook; any external tooling parsing it structurally should expect this and future format changes.
Fixed: Auto-save length limits now match documented values
Session auto-save was still capping saved summaries and decisions at limits left over from an earlier version of the hook (50,000 and 5,000 characters) rather than the smaller values actually intended for this release (8,000 and 500). A separate bug in the truncation marker could also let a saved field run slightly past its limit instead of stopping at it.
Starting in v0.8.10, saved summaries are capped at 8,000 characters and
decisions at 500, and the [TRUNCATED: ...] marker is reserved inside that
limit so a truncated field never exceeds it.
See the full changelog for the complete release history.
License
Business Source License 1.1 (BSL 1.1) - Labyrinth Analytics Consulting
Free for personal/non-commercial use (up to 50 sessions). Commercial use requires a paid license. Converts to Apache 2.0 on 2030-03-31. See LICENSE for details.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceCognitive prosthetic for AI agents. Indexes conversation history from ChatGPT, Claude Code, Cursor, and Gemini CLI into searchable embeddings. 25 MCP tools including tunnel_state (resume where you left off), switching_cost (quantify context-switch penalty), thinking_trajectory (track idea evolution), and alignment_check (decisions vs principles). LanceDB + Parquet, 12ms recall, local-first.Last updated2564MIT
- Alicense-qualityBmaintenanceEnables AI coding agents to maintain persistent, cross-session memory of codebase architecture, naming conventions, and decisions through MCP tools. Eliminates repetitive project re-explanation by automatically injecting stored context into every session with local-first SQLite storage and optional team sharing capabilities.Last updated4MIT
- Alicense-qualityAmaintenancePersistent memory for any AI assistant. Zero token cost until recall. Stores memories in local SQLite, ranks by 6-factor scoring, returns results 79% smaller than JSON. Works with Claude, ChatGPT, Grok, Cursor, Windsurf, and any MCP client.Last updated38Apache 2.0
- AlicenseAqualityDmaintenancePersistent memory API for AI agents — store, recall, and inject semantically-searchable context across sessions. EU-hosted, GDPR-compliant. Supports Claude, Cursor, Cline, and any MCP-compatible client.Last updated42MIT
Related MCP Connectors
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
Persistent memory for AI agents. Search, store, and recall across sessions.
One memory, every AI: Claude, ChatGPT, Perplexity, Gemini, Cursor, OpenClaw, Hermes, any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/labyrinth-analytics/loreconvo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server