Persistent, searchable operational knowledge for engineering teams and multi-agent systems.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Lore MCP.
kb_addAdd an entry. Accepts `author`, `source_type` for attribution.
kb_searchSemantic / hybrid / FTS search with optional topic filter.
kb_getFetch full entry by ID.
kb_get_batchFetch multiple entries by ID in a single call (re-keyed by `kb_id`).
kb_listList entries, filter by topic.
kb_updateUpdate content, tags, or set `verified` flag.
lore-knowledge-mcp Β· Operational knowledge layer for engineering teams and their AI agents.

Your agents start every session knowing nothing about your systems. Every runbook you've written. Every gotcha you've hit. Every incident you've debugged. None of it carries forward.
You re-explain. They re-discover. Context vanishes when the session ends.
Lore fixes that.
| Tool | Built for | What it remembers | Agent-native |
|---|---|---|---|
| OB1 / personal memory | One person | Your thoughts and captures | No |
| Mem0 / Zep | App developers | User preferences, conversations | Partially |
| Confluence / Notion | Human teams | Documentation (human-browsed) | No |
| Lore | Engineering teams + AI agents | How your systems actually work β searchable by meaning, not just keywords | Yes |
Lore is not a second brain. It's the operational intelligence your agents need to work in your environment β not just any environment.
Your team's operational knowledge β always queryable by any agent. Capture the things that matter: runbooks, hard-won gotchas, architecture decisions, deployment state. Every entry carries attribution so agents know who wrote it and whether a human has verified it.
When something breaks, open a structured investigation. Document the symptom, test hypotheses, record what you tried and what you found. Six months later when the same issue resurfaces β different engineer, different agent β the trail is there.
A permanent record of milestones, architecture decisions, and buying decisions. The kind of thing that lives in someone's head until they leave the team.
In a multi-agent environment, provenance matters. Every Lore entry carries author, source_type, and verified.
Your agents know: result 1 is production-safe. Result 2, spot-check before acting. Result 3, review first.
Lore finds entries by meaning, not just keywords. Search "DNS broken in containers" and it returns an entry titled "LXC containers inherit resolv.conf from the host" β no keyword overlap required.
Powered by local sentence-transformers embeddings (no API key, no external calls), combined with lexical full-text search and Reciprocal Rank Fusion. The same model used by mcp-memory-service, fully self-hosted. On SQLite the lexical leg uses FTS5; on PostgreSQL it uses a GIN full-text index plus pgvector for the semantic leg.
kb_search resolves its mode from (in order): an explicit search_mode/semantic/hybrid argument, then LORE_SEARCH_MODE_DEFAULT, then the built-in default of hybrid. Every search response echoes requested_mode (the caller's intent) alongside search_mode (the mode actually executed, after any degradation).
| Mode | When to use |
|---|---|
fts | Exact term matches. |
semantic | Meaning-based retrieval, no keyword overlap needed. |
hybrid | Best of both β lexical + vector via RRF (default). |
The
summarymode was removed β passingsearch_mode="summary"now returns a validation error. Lore is LLM-free by design; summarisation is the caller's responsibility.
If you already have entries, generate embeddings for them:
| Variable | Default | Notes |
|---|---|---|
LORE_SEMANTIC_SEARCH | false | Master switch β off = lexical-only behaviour. |
LORE_SEARCH_MODE_DEFAULT | hybrid | Default mode for kb_search when no mode is passed (fts, semantic, or hybrid). |
LORE_EMBEDDING_MODEL | all-MiniLM-L6-v2 | 384d, ~90MB, English-optimized. |
LORE_RRF_K | 10 | Increase to 30β60 for corpora >10k entries. |
For multilingual content, set LORE_EMBEDDING_MODEL=paraphrase-multilingual-MiniLM-L12-v2 (same 384d, no schema change).
Lore can extract durable memories from agent conversations automatically. At the end of a session, conversation turns are sent asynchronously to a fast LLM, which extracts facts, preferences, goals, events, and system facts β then deduplicates them against the existing KB before writing.
auto_extract.enabled: false).source:auto-extracted, with an optional review queue (topic="auto-memory-pending") for human approval.Set OPENROUTER_API_KEY (or CEREBRAS_API_KEY) and enable it in your plugin config.
β Full setup guide: docs/auto-extraction-setup.md β API keys, provider config, tuning thresholds, review mode, and inspecting or removing extracted entries.
Add one line to every agent's system prompt and one entry to ~/.mcp.json β that's the entire integration. Each phase of your engineering workflow reads prior knowledge from Lore and writes its findings back, so nothing is re-discovered from scratch.
β How to wire Lore into a 6-phase multi-agent pipeline β full walkthrough with code examples for every phase: research, architecture review, implementation, adversarial code review, QA, and documentation.
No database setup required. Lore runs out of the box with SQLite.
Then set LORE_SEMANTIC_SEARCH=true. See Semantic Search for details.
LORE_API_KEY)HTTP auth is opt-in and off by default:
LORE_API_KEY unset β the HTTP server is open (no auth), exactly as
before. This keeps existing no-auth deployments working. When you bind to a
non-localhost host (0.0.0.0 or a LAN IP) without a key, Lore logs a
prominent startup WARNING that the server is reachable on your network
with no authentication.LORE_API_KEY set β every HTTP/SSE request must include
Authorization: Bearer <key>. Missing or wrong tokens get
401 {"error":"unauthorized"} (token compared in constant time). Health
endpoints (/health, /healthz, /) stay open so liveness probes keep
working. stdio mode is never affected β it has no network surface.The same rule applies to the HTTP entry point (lore-mcp --host/--port,
which invokes the FastMCP server).
CORS: origins default to * with credentials disabled (the spec forbids
* + credentials). Set LORE_CORS_ORIGINS to a comma-separated allow-list
(e.g. https://app.example.com,https://admin.example.com) to restrict origins;
credentialed CORS is enabled automatically when origins are explicit.
Claude Code / Claude Desktop β add to ~/.mcp.json:
Or for HTTP mode (recommended for teams). When the server is started with
LORE_API_KEY set, include a matching bearer token in the client config:
If the server is started without LORE_API_KEY, omit the headers block β the
endpoint is open.
Thatβs it. Lore is ready.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/davidgut1982-lore-mcp)<a href="https://allmcps.com/mcp/davidgut1982-lore-mcp"><img src="https://allmcps.com/api/badge/davidgut1982-lore-mcp?style=directory" alt="Lore MCP on AllMCPs" /></a>