mcpField
P
project-lore

project-lore

本地服务
github.com/tamas-fm记忆与知识014 周前更新

关于 project-lore

project-lore 是面向编码 Agent 的本地优先 MCP 服务,可按开发任务筛选相关项目文档。它在本地建立索引,并提供带来源、权威性和时效信息的摘录。

主要功能

  1. 01按任务路由文档
  2. 02按权威性搜索文档
  3. 03提供带来源位置的限长摘录
  4. 04增量更新 SQLite 索引
  5. 05标记过时及已取代来源

适用场景

  1. 01修改代码前查找适用文档
  2. 02搜索设计决策与约束
  3. 03确认项目指引是否仍有效

MCP 相关

它向 MCP 客户端提供 `route_task`、`search_project_knowledge` 和 `get_document_context` 工具。工具返回相关文档、搜索结果或文档章节及其关系,不会返回完整文件。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"tamas-fm-project-lore": {
"command": "npx",
"args": [
"-y",
"project-lore-mcp"
]
}
}
}
启动命令npx -y project-lore-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmproject-lore-mcp0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

project-lore-mcp

一个本地优先的 MCP 服务,将编码 Agent 引导至最少且有用的项目文档集——包括决策、意图和约束,并提供来源信息与时效性。

代码智能工具(例如 codebase-memory-mcp)回答的是 在哪里实现,以及哪些内容依赖它。本项目回答的是互补的问题:为什么要这样设计、哪份文档适用于当前任务,以及这些知识是否仍然有效?

功能

将它指向一个代码库(以及可选的外部文档根目录)。它会:

  1. 发现 Markdown、文本、HTML、YAML、JSON、Mermaid 和 Claude 指令文件;
  2. 按类型和权威性为每份文档分类(指令 → 规范 → 设计 → 规划 → 历史 → 生成 → 提议);
  3. 提取标题、章节、链接、frontmatter、ADR 状态,以及明确的“先读”“取代”和任务路由关系——以确定性方式完成,并记录来源信息(结构化提取适用于 Markdown;其他格式则进行纯文本索引);
  4. 在 SQLite(FTS5)中存储可重建的本地索引,并根据内容哈希增量更新;
  5. 通过**有界摘录和精确的来源位置(绝不返回整个文件)**回答任务和知识查询,并标记过时或已被取代的来源,而不是将其隐藏。

MCP 工具

工具用途
route_task根据开发任务,返回应优先阅读的有序文档/章节。显式清单路由优先于排序搜索。
search_project_knowledge对文档进行全文搜索,并按权威性和状态重新排序;每条结果都会显示时效性。
get_document_context返回一份文档的章节和类型化关系,不会返回整个文件。

安装和运行

需要 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
Claude Code

在要建立索引的代码库中运行一次:

# 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"

团队可以改为提交共享配置:

# Shared setup — writes .mcp.json into the repository
claude mcp add project-lore --scope project -- \
  npx -y project-lore-mcp serve --root .

项目范围配置使用相对根目录(.),因此适用于任何检出目录。 Claude Code 会在运行项目范围的服务之前,要求每位用户批准。

一个代码库,一份配置。 Project Lore 的命令包含固定的根目录路径,因此始终只会为一个特定代码库建立索引。请为每个代码库单独注册,而不要全局注册。

它可以与 codebase-memory-mcp 共存——配置两者即可;它们分别处理不同的问题。如果配置引用了代码库之外的文档,必须授予 Claude Code 对这些路径的文件系统访问权限(将它们添加为额外的工作目录,或批准权限提示)。

试用示例
npm run index:example        # index examples/documented-project
npm run serve:example        # serve it over stdio

配置

可在代码库根目录下放置可选的 project-lore.config.yaml:

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

完整参考请参阅 docs/configuration.md,权威性模型请参阅 docs/concepts.md。

设计原则

保守地存储和检索已记录的意图。自动推导结构。始终保留来源信息。

  • 默认仅限本地。 不访问网络、不收集遥测数据、不上传内容。索引可重新生成,也可安全删除(.project-lore/,已加入 gitignore)。
  • 优先确定性,再考虑 AI。 v1 不使用 LLM 或嵌入。每种存储的关系都会记录其提取方式;推断数据绝不会伪装成已记录的事实。
  • 证据,而非指令。 检索到的摘录均为引用内容,长度有限,并注明来源。文档内容会被视为不可信数据(参见 docs/provenance-and-trust.md)。

项目状态

v0.1.0 — 首个垂直切片。请参阅 docs/architecture.md、docs/adr/ 中的 ADR,以及 CONTRIBUTING.md。

许可证:MIT。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。