mcpField
R
repo-memory-mcp

repo-memory-mcp

本地服务
repo-memory-mcp.pages.dev记忆与知识05 周前更新

关于 repo-memory-mcp

repo-memory-mcp 为兼容 MCP 的编码 Agent 提供本地、按仓库隔离的记忆服务。它用 SQLite 保存项目规则、纠正事项和决策,供后续会话检索,无需云服务。

主要功能

  1. 01按仓库隔离的 SQLite 记忆
  2. 02加载启动上下文并搜索记忆
  3. 03保存规则、纠正事项和决策
  4. 04更新或归档过时条目
  5. 05JSON 导入与导出
  6. 06默认拒绝疑似密钥

适用场景

  1. 01在会话开始时读取项目指引
  2. 02留存反复纠正中总结的经验
  3. 03修改代码时搜索相关决策

MCP 相关

提供 MCP 工具,用于加载、搜索、保存、更新和归档仓库记忆。通过本地 stdio 通信。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"umarjaum-repo-memory": {
"command": "uvx",
"args": [
"repo-memory-mcp-ai"
]
}
}
}
启动命令uvx repo-memory-mcp-ai

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

安装包
pypirepo-memory-mcp-ai0.2.0

工具

11

收录的工具列表 · 更新于 2 周前

参数类型必填说明
tagsany否
topicstring是
lessonstring是
importancestring否
context_filestring否

详细介绍

repo-memory-mcp

mcp-name: io.github.Umarjaum/repo-memory-mcp

为 AI 编码 Agent 提供持久记忆

AI 编码 Agent 功能强大,但会忘记特定于代码仓库的更正、惯例、约束和架构决策。repo-memory-mcp 为兼容 MCP 的编码 Agent 提供持久化、本地化且了解代码仓库的记忆层。

只需教会编码 Agent 一次,让你的代码仓库记住一切。

Tests PyPI License

功能

MCP 主机决定何时调用工具;MCP 不会自动拦截每一段对话。本项目提供显式工具,让 Agent 能在会话启动时加载重要上下文、搜索相关记忆、保存更正和决策、更新过时的指引,以及归档不再适用的记忆。

记忆数据库位于检测到的代码仓库中的 .repo-memory/memory.db。它使用 SQLite、确定性的本地排序,且不依赖云服务。

开发者选择它的原因

  • 持久化项目记忆: 更正、规则、惯例、约束、决策和修复 Bug 的经验教训都能跨会话保留。
  • 了解代码仓库并隔离数据: 不同代码仓库的记忆互不共享。
  • 隐私优先,本地运行: 无需 API 密钥、远程数据库、外部嵌入、遥测或后台上传。
  • 显式 MCP 工作流: Agent 自行决定何时记忆和回忆;项目不会声称能够自动拦截对话。
  • 快速且便于检查: 使用 SQLite 存储,支持 JSON 导出、CLI 诊断和人类可读的记录。
  • 注重安全: 默认拒绝可能的 API 密钥、Bearer 令牌、密码、云凭证和私钥。

两分钟内完成安装和使用

公开发布到 PyPI 的发行包名为 repo-memory-mcp-ai,因为较短的 repo-memory-mcp 名称已被另一个项目使用。MCP 服务和 GitHub 项目的身份仍为 repo-memory-mcp。

pip install repo-memory-mcp-ai
repo-memory doctor

直接启动 MCP 服务:

repo-memory-mcp

或者无需永久安装即可运行:

uvx --from repo-memory-mcp-ai repo-memory-mcp

该服务在本地运行,并通过 stdio 通信,无需 API 密钥。

配置 MCP 客户端

常见的 stdio 配置如下:

{
  "mcpServers": {
    "repo-memory": {
      "command": "uvx",
      "args": ["--from", "repo-memory-mcp-ai", "repo-memory-mcp"]
    }
  }
}

请使用 MCP 主机文档中说明的客户端专用配置位置和格式。可直接复制的示例位于 examples/:

本项目不依赖特定厂商,适用于 Claude Code、Cursor、Cline、Windsurf 及其他兼容 MCP 的编码 Agent。兼容性取决于主机对 MCP 的支持情况和配置格式。

推荐的 Agent 工作流

在编码会话开始时,调用 get_startup_context()。开发者纠正了反复出现的错误时,调用 remember_correction(topic, lesson)。出现相关问题时,调用 recall_memory(query)。指引过时时,调用 update_memory(),或使用 forget_memory() 将其归档。

给 Agent 的示例指令:

At the start of this session, call get_startup_context. If I correct a repeated mistake or establish a durable project rule, store it with the appropriate repo-memory tool. Do not store credentials or transient chat context.

可用的 MCP 工具

工具用途
get_startup_context在会话开始时加载简明且高价值的仓库指南
remember_correction记录从纠正或错误修复中总结的经验
remember_rule记录持久适用的项目规则或惯例
remember_decision记录架构决策及其理由
recall_memory使用确定性的本地评分搜索有效记忆
list_project_rules列出有效的项目规则
list_memories按类型或状态筛选记忆
update_memory修正现有记忆,而不创建替代记忆
forget_memory归档过时记忆,以便于审计的方式留存
export_memory / import_memory在同一仓库的安全副本之间迁移已验证的记忆

命令行

repo-memory init
repo-memory list
repo-memory rules
repo-memory search "database migrations"
repo-memory export ./memory-backup.json
repo-memory import ./memory-backup.json
repo-memory doctor

隐私与安全边界

记忆保留在运行服务的设备上。此实现不需要 API 密钥、云账户、远程数据库、外部嵌入或遥测。它只会检查明确提交给记忆工具的文本。你的操作系统、包管理器、备份和 MCP 主机可能有各自的行为。

默认情况下会拒绝可能包含机密的信息。请勿向记忆工具提交密码、令牌、私钥或凭据。.repo-memory/ 目录已被 Git 忽略,因此私有记忆不会意外提交。

开发

git clone https://github.com/Umarjaum/repo-memory-mcp.git
cd repo-memory-mcp
python -m venv .venv
. .venv/bin/activate
pip install -e '.[dev]'
pytest

发现与发布

开发者

Muhammad Umar Jabbar — 巴基斯坦旁遮普省卡内瓦尔。个人网站:umarjaum.netlify.app。

路线图

未来的工作可能包括改进排序、添加置信度反馈、提供可选的本地嵌入、生成项目上下文、添加记忆检查界面,以及将伴侣扩展发布到官方市场。团队/共享记忆仍明确设为可选加入。

伴侣扩展

  • extensions/vscode 为 VS Code 提供本地设置命令。
  • extensions/bing 提供注重隐私的 Manifest V3 上下文菜单助手,可将选中的 Bing 研究内容转换为 repo-memory 提示词。

此浏览器伴侣工具有意不调用本地 stdio MCP 进程。浏览器与 MCP 的直接集成需要一个单独审核的原生消息传递桥接程序。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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