mcpField
R
remem-mcp — Local-first MCP Memory + CodeGraph + Wiki

remem-mcp — Local-first MCP Memory + CodeGraph + Wiki

本地服务
github.com记忆与知识96 周前更新

关于 remem-mcp — Local-first MCP Memory + CodeGraph + Wiki

remem-mcp 为编码 Agent 提供基于本地 SQLite 的记忆、代码结构索引和 Wiki,记录错误与决策,并在后续会话中检索。数据无需云端或数据库服务器,也可通过 Git 与团队共享。

主要功能

  1. 01本地 SQLite 持久化记忆
  2. 02自动捕获错误并注入上下文
  3. 03基于 tree-sitter 的代码索引
  4. 04符号搜索与调用关系分析
  5. 05记忆检索、整理与衰减
  6. 06通过 Git 导出共享记忆

适用场景

  1. 01跨上下文压缩回忆过往决策
  2. 02在重试前检索曾遇到的错误
  3. 03查找符号调用者与影响范围
  4. 04通过 Git 向团队同步记忆

MCP 相关

作为 MCP 服务,remem-mcp 向客户端提供 recall、capture、CodeGraph、Wiki 和反馈工具,并配合钩子在会话中注入与保存记忆。

配置

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

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

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

安装包
npmremem-mcp0.5.17

工具

48

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

参数类型必填说明
modeenum否搜索模式。hybrid | keyword | vector
typeenum否按记忆类型筛选结果。使用 'decision' 跳过检查点/任务,使用 'error' 筛选过去的失败等。conversation | decision | learning | task | error | atom
limitinteger否结果的最大数量。
querystring是自然语言查询。工具会使用此文本执行 BM25 搜索和向量搜索。
formatenum否响应格式。结构化数据(例如基准测试数据)请使用 'json'。默认值为 'text'。text | json
offsetinteger否分页偏移量。使用此参数获取下一页结果。
task_idstring否任务 ID。使用此参数可按特定任务隔离记忆。将捕获内容关联到任务可实现更精细的隔离。
team_idstring否团队 ID。使用此参数可按团队隔离记忆。设置后,所有查询都会按此值筛选。
user_idstring否用户 ID。使用此项可在团队内按用户隔离记忆。与 team_id 一起设置时,查询会同时按两者筛选。
agent_idstring否Agent ID。使用此参数可按团队内的 Agent 角色隔离记忆。默认值为检测到的 Agent。
max_tokensinteger否响应中的最大 token 数。如果结果超过此值,工具会截断文本。
session_keystring否会话密钥。默认值为 hash(cwd)。使用此参数可从其他项目回忆记忆。

详细介绍

remem-mcp

npm version GitHub stars License: MIT Benchmark

你的编码 Agent 不再重复犯同样的错误。

本地优先的记忆,可在上下文压缩后继续保留。它会从每次错误中学习,在下次尝试前注入修复方案,并同步到你的 git 仓库,让整个团队共享记忆。

无需 API 密钥。无需云服务。无需数据库服务器。只需一个 SQLite 文件。


安装

npx remem-mcp setup

自动检测 ZCode、Claude Code、Cursor、Devin、Codex。注册 MCP 服务和钩子。


快速开始

  1. 重启你的 Agent(退出并重新打开)
  2. 询问:“你记得什么?”
  3. 如果 Agent 能回忆起过去的上下文,说明记忆正在工作

在你的 Agent 中,你可以说:

  • “为 src 中的代码建立索引” → CodeGraph 为符号建立索引
  • “查找调用函数 X 的代码” → 调用方分析
  • “你记得什么?” → 回忆过去的上下文

自动执行的操作

时机操作
会话开始将过去的错误、决策和角色设定注入 Agent 上下文
每次提示词将匹配的记忆注入 Agent 上下文
命令失败自动捕获为错误记忆
上下文压缩压缩后重新注入记忆
会话结束Worker 自动提取事实、整合摘要、更新角色设定

你无需运行任何命令。Agent 会在回答前调用 recall(),并在工作后调用 capture()——技能会告诉它这样做。


工作原理

AI Agent (ZCode / Claude Code / Devin / Cursor / Codex)
    │
    ├── MCP tools ──▶ recall, capture, codegraph_*, wiki_*, feedback
    │
    └── Hooks ──▶ SessionStart, UserPromptSubmit,
                  PostToolUse, PostCompaction, SessionEnd
                        │
                        ▼
              SQLite (memory.db)

  L0 captures → L1 atoms → L2 scenarios → L3 persona
  (raw)        (facts)      (summaries)    (preferences)

  CodeGraph: symbols + calls + imports (tree-sitter, 9 languages)
  Memory links: Hebbian co-retrieval (frequently co-retrieved = stronger)

无需 LLM API 密钥——基于规则提取 + 关键词分组。


CodeGraph

通过 tree-sitter 对代码进行结构化索引。Agent 使用 codegraph_search 而不是 grep 来查找符号。

npx remem-mcp index --path src              # index a directory
npx remem-mcp search-code --query "parseTar"  # find symbols
npx remem-mcp callers <id>                  # who calls this?
npx remem-mcp impact <id>                   # blast radius

支持 9 种语言:TS/JS/Python/Go/Rust/Java/C/C++/C#。采用 6 种策略解析调用(import-map → same-module → unique-name → suffix → fuzzy)。过滤标准库调用。

仓库文件符号调用耗时
remem-mcp793016,4563s
AZR Go4553,41741,603111s
Orca TS3,0007,63278,981705s

有何不同

remem-mcpMem0Claude MEMORY.mdMneme
可在压缩后保留是是 — 云端否 — 上限 200 行是
从错误中学习是 — 自动否否否
搜索混合 BM25 + 向量 + 实体仅向量否向量 + 图
记忆关联Hebbian 协同检索否否图
衰减/遗忘是否否否
CodeGraph是 — 采用 6 种策略解析调用否否否
Token 卸载是 — Mermaid 画布否否否
设置1 条命令API 密钥 + 云服务内置从源码构建
费用免费$19–249/月免费免费

实用命令

npx remem-mcp status           # health + hooks + DB + CodeGraph
npx remem-mcp viewer           # web UI at localhost:7331
npx remem-mcp errors           # error dashboard
npx remem-mcp recent [N]       # recent captures
npx remem-mcp help all         # full list of 40+ subcommands

配置

所有设置都有默认值。配置文件为可选项:~/.config/remem-mcp/config.json。

设置环境变量默认值
DB 路径REMEM_DB_PATH~/.local/share/remem-mcp/memory.db
跨项目记忆REMEM_GLOBAL_SESSION_KEY(未设置)
统一流程(F1+F2+F3)REMEM_FLOW(未设置,设为 full)
禁用钩子反馈REMEM_QUIET(未设置,设为 1)

全局记忆策略——设置 REMEM_GLOBAL_SESSION_KEY,即可自动读取跨项目记忆。捕获内容仍保存在项目本地,除非用户明确要求全局保存;此时使用 session_key: "global"。不要将普通捕获内容自动归类为全局记忆。

团队共享——运行 npx remem-mcp sync-export 会写入 .remem-mcp/memory-export.jsonl。将其提交到 git。团队成员执行 git pull 后即可获得相同的记忆。

按仓库设置捕获排除项——在任意项目根目录中放置 .remem.toml:

[capture]
ignore_paths = ["node_modules", "dist", ".git", "*.min.js"]

基准测试

基准测试remem-mcpMem0无记忆
AMB(L1/L2/L3)100/100/100——
LoCoMo(长对话问答)9592.5—
PersonaMem(个性化)100—48
LongMemEval(ICLR 2025)9694.4—
bash scripts/bench-all.sh --quick   # AMB only (~2 min)

架构

完整的系统图、架构和性能详情请参阅 ARCHITECTURE.md。

致谢

核心基于 TencentDB Agent Memory(MIT,Tencent 2026)。CodeGraph 调用解析改编自 Codebase-Memory(arXiv:2603.27277)。召回增强改编自 Akita On Rails 的 ai-memory。上下文检索来自 Anthropic(2024)。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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