A local-first MCP server that routes development tasks to authoritative project documentation.
MCPpedia last refreshed this data
io.github.tamas-fm/project-lore is an MCP server that a local-first MCP server that routes development tasks to authoritative project documentation. Its tool list has not been published yet over stdio, requires no API key, and scores 82/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"io-github-tamas-fm-project-lore": {
"args": [
"-y",
"project-lore-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A local-first MCP server that routes development tasks to authoritative project documentation.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y 'project-lore-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked project-lore-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in other
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
SQL for Android APK and DEX files: classes, methods, strings, references and smali.
System 1 decision models (Jev, Laya, Cua-S1) as brain for agents: Browser use, computer use, games and robotics
MCP Security Weekly
Get CVE alerts and security updates for io.github.tamas-fm/project-lore and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A local-first MCP server that routes coding agents to the smallest useful set of project documentation — decisions, intent, and constraints — with provenance and freshness.
Code-intelligence tools (such as codebase-memory-mcp) answer where is this implemented and what depends on it. This project answers the complementary questions: why was it designed this way, which document governs this task, and is that knowledge still current?
Point it at a repository (plus optional external documentation roots). It:
| Tool | Purpose |
|---|---|
route_task | Given a development task, return the ordered documents/sections to read first. Explicit manifest routes win over ranked search. |
search_project_knowledge | Full-text search over documentation, re-ranked by authority and status; freshness is shown per result. |
get_document_context | Sections + typed relationships of one document, without returning the whole file. |
Requires Node.js ≥ 22.
npm install -g project-lore-mcp # or npx -y project-lore-mcp (no install needed)
project-lore index --root /path/to/your/repo # one-shot index + stats
project-lore serve --root /path/to/your/repo # stdio MCP server
Run this once from inside the repository you want to index:
# Personal setup — stored in your local Claude Code config, not committed
claude mcp add project-lore --scope local -- \
npx -y project-lore-mcp serve --root "$PWD"
For teams, commit a shared configuration instead:
# Shared setup — writes .mcp.json into the repository
claude mcp add project-lore --scope project -- \
npx -y project-lore-mcp serve --root .
The project scope uses a relative root (.) so it works on any checkout.
Claude Code will ask each user to approve project-scoped servers before
running them.
One repository, one configuration. Project Lore's command contains a fixed root path, so it always indexes one specific repository. Register it separately per repository rather than globally.
It coexists with codebase-memory-mcp — configure both; they own different questions. If your configuration references documentation outside the repository, Claude Code must be granted filesystem access to those paths (add them as additional working directories or approve the permission prompts).
npm run index:example # index examples/documented-project
npm run serve:example # serve it over stdio
Optional project-lore.config.yaml at the repository root:
sources:
- id: repository
type: directory
path: .
authority: canonical
- id: design-handoff
type: directory
path: ../product-docs # explicit opt-in external root
authority: design
classification:
rules:
- pattern: "docs/legacy/**"
authority: historical
See docs/configuration.md for the full reference and docs/concepts.md for the authority model.
Store and retrieve documented intent conservatively. Derive structure automatically. Preserve provenance alway