关于 Trove
Trove 是开源 MCP 记忆服务,可让 Agent 在不同会话间共享带来源的知识图谱。它保留事实修订和证据,并支持托管或自托管,另附用于检查图谱的仪表板。
主要功能
- 01多个 Agent 共享长期记忆
- 02事实关联到引用来源文本
- 03保留历史修订并替代关系
- 04按令牌预算检索记忆
- 05导入 Obsidian 知识库
- 06提供图谱浏览器和检查状态仪表板
适用场景
- 01在 Agent 会话间延续决策和事实
- 02追溯检索到的事实及其来源文本
- 03查看已存观点随时间的变化
- 04从 Obsidian 知识库初始化共享记忆
MCP 相关
Trove 向 MCP 客户端提供记忆、摄取、检索、搜索、读取、连接和遗忘图谱数据的工具;可用工具取决于凭据权限范围。它还提供资源、提示词和使用说明。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mytrove.in/mcpclaude mcp add --transport http anunay999-trove https://mytrove.in/mcp{"mcpServers":{"anunay999-trove":{"type":"http","url":"https://mytrove.in/mcp"}}}在 Cursor 中打开{"servers":{"anunay999-trove":{"type":"http","url":"https://mytrove.in/mcp"}}}在 VS Code 中打开{"mcpServers":{"anunay999-trove":{"type":"http","url":"https://mytrove.in/mcp"}}}{"mcpServers":{"anunay999-trove":{"serverUrl":"https://mytrove.in/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Trove
不断改进的上下文。
开源 MCP 记忆服务:为 Claude Code、Codex、Cursor 和任何 MCP 客户端提供共享且有来源依据的记忆。
网站 · 快速入门 · Agent 使用方法 · MCP 工具 · OAuth 连接器 · llms.txt
Trove 是一款开源 MCP 服务,可在共享知识图谱中为 AI Agent 提供长期记忆。你可以通过 mytrove.in 使用托管服务,也可以自行托管。Claude、Codex、Cursor 和任何其他支持 MCP 的 Agent 都可以将学到的内容写入其中,并在后续会话中回忆这些内容——每条事实都能追溯到作为依据的源文本。你的笔记始终可供检查;出现矛盾时,旧内容会被新内容取代,而非覆盖;整个图谱都能在内置仪表板中浏览。
连接你的 Agent
让任何支持 MCP 的 Agent 连接 Trove,即可跨会话读取和写入你的图谱。在 mytrove.in 的仪表板上创建 API 密钥,然后:
# Claude Code (hosted)
claude mcp add trove --transport http https://mytrove.in/mcp \
--header "Authorization: Bearer <your trove_ key>"
要运行自己的实例?使用 http://localhost:8787/mcp(禁用身份验证时无需密钥)。若要通过 claude.ai / Claude Desktop 的 连接器 面板连接,请添加 https://mytrove.in/mcp 并使用 Clerk 登录——请参阅 docs/oauth.md。
你的 Agent 将获得一组精简的工具,每种工具各司其职:remember、recall、grep、read、connect、forget(写入范围的密钥还可使用 ingest 和整理工具)。无需传入其他信息——你的密钥已指向自己的图谱,因此所有 Agent 都能共享它。
Agent 应如何使用——不要把它当作日终日志,而应当作工作记忆:重新推导前先加载,会话中途及时记录,并拆分成许多彼此关联的小原子。请参阅 docs/agent-usage.md。MCP 服务中也提供了相同的使用准则(instructions、资源 trove://doctrine 和工具描述)。
配套技能(可选,适用于 Claude Code)。 MCP 工具本身可在任何客户端中使用。直接从此仓库安装技能,让 Claude 按照正确的规范使用它们——重新推导前先回忆、引用证据、取代旧内容而不是删除:
npx skills add anunay999/trove -g
API 也会提供每项技能,因此可以让任何 Agent 阅读并遵循相关技能:索引位于 mytrove.in/skills.md(以及 /llms.txt),各技能文件位于 /skills/<name>.md。这些流程也作为 MCP 提示词提供,例如,Claude Code 中的 /mcp__trove__trove-curate 会在会话内整理你的图谱。
密钥、作用域、stdio、导入保险库等完整设置说明,请参阅 docs/quickstart.md。
你将获得什么
- 持久的 Agent 记忆 — Agent 通过 MCP 工具(
remember、ingest)保存事实、决策和笔记,之后使用recall检索;recall会根据你设定的 token 预算,将最相关的记忆打包。 - 穿越时间,而非覆盖内容 — 信念带有有效时间区间。信息发生变化时,旧关系会失效,但不会被删除,因此你可以查询图谱在任意时间点持有哪些信念。
- 以构建方式确保有据可查 — 检索出的原子信息要么能追溯到带引用的源文本,要么会明确标记为
AGENT INFERENCE;检查器会标记缺少证据的节点(missing_evidence),供审核。 - 仪表板 — 包含记忆 KPI、写入频率热力图、检查器健康状况,以及带有完整文档阅读器的交互式力导向图谱浏览器。
- 导入你的笔记 — 将导入器指向 Obsidian 库,它就会成为图谱的种子。对于
log.md这类以追加内容为主的文件,系统会将其拆分为逐条记录的片段并去重,因此重新导入时只会存储新增内容。
工作原理
Trove 是一个证据图谱:有来源的事实可追溯到引用文本,而没有证据支持的结论则会明确标记为 Agent 推断。
raw source addressable spans distilled beliefs
┌───────────┐ ingest ┌───────────────┐ remember ┌──────────┐
│ transcript│ ───────► │ text units │ ─────────► │ nodes │
│ page/file │ │ (cited spans) │ (cites) │ + edges │
└───────────┘ └───────────────┘ └──────────┘
▲ recall / grep / read
agents read back here
写入。 Agent 使用 ingest 存储原始材料,系统会将其拆分为可单独寻址的文本单元。随后,Agent 使用 remember 提炼值得保留的少量事实,生成小型语义节点,每个节点都会引用作为依据的文本单元,并通过 connect 将节点关联起来。remember 是唯一的写入入口:标题或 slug 完全匹配时,它会修订现有节点;否则就会创建新节点,因此 Agent 无需处理创建与更新的区分。
读取。 三个动词,分别对应不同的问题。recall 会构建一个按 token 预算限制的上下文包——混合词法与语义搜索会为单跳图谱扩展提供种子,候选内容会按相关性和 ACT-R 风格的激活度(近期性与频率)排序,再由贪心打包器填满你设定的预算。grep 用于对节点和原始来源进行精确或正则搜索,适合查找已知字符串(端口、slug、错误信息等)。read 根据 ID 或 slug 读取单个节点或来源。
改变看法。 事实和关系会保留记录历史,而不是被覆盖。每次节点修订都会保存其标题、摘要和内容快照;read({ asOf }) 会返回截至该时间记录的最新快照,如果事实当时尚不存在,则返回 null。关系的替代操作不会破坏历史:使用 supersedesEdgeId 调用 connect(或使用 forget)会使旧关系过期,而 neighborhood 使用 asOf 控制记录时间上的关系可见性,并使用 validFrom/validUntil 按现实时间筛选。recall 始终根据当前信念回答,并拒绝 asOf。历史节点读取中的证据和注释目前反映的是其当前状态。
保持更新。 服务内部的后台工作进程每 30 秒处理一次任务队列,以便为新写入内容生成嵌入、刷新投影并运行检查器。无需安排任务。
分级工具。 MCP 提供的工具会根据凭据的权限范围进行筛选。只读密钥只能使用 recall、grep 和 read;写入密钥还可使用 remember、connect、forget、ingest 和整理工具;管理员密钥还可使用运维工具(jobs、lint、export_obsidian)。可见性只是为了使用方便——每次调用仍会在服务端进行权限范围检查。
快速开始
使用托管服务 mytrove.in — 登录,在仪表板上创建 API 密钥,然后让你的 Agent 连接到 https://mytrove.in/mcp。或者,花大约五分钟自行运行。
→ docs/quickstart.md — 本地设置、API 密钥和权限范围、连接 Agent(Claude Code、stdio 和 claude.ai OAuth 连接器)、导入 Obsidian 库,以及启用语义搜索。
# the short version, locally
git clone https://github.com/anunay999/trove.git && cd trove
npm install # server + web dashboard
cp .env.example .env
npm run setup # Postgres + schema + migrations
npm run web:build && npm start
# → dashboard at http://localhost:8787
部署
Trove 提供生产环境 Dockerfile(将 API 和仪表板打包在同一个镜像中)以及 railway.json。参考部署方案是 Railway + Supabase Postgres——请参阅 docs/deployment.md,了解完整流程,包括自定义域名。
了解更多
- docs/quickstart.md — 设置密钥、连接 Agent、导入笔记
- docs/oauth.md — claude.ai OAuth 连接器(由 Clerk 提供支持)
- docs/development.md — 架构、数据模型、测试套件和设计原理(如果你要开发 Trove,请从这里开始)
- docs/mcp.md — 完整的 MCP 工具和资源参考
- docs/agent-api.md — HTTP API 契约
- docs/cli.md — CLI 参考
- docs/memory-db-design.md — 设计背后的研究
贡献与许可
欢迎提交拉取请求——请参阅 CONTRIBUTING.md。CI 会运行类型检查、存储测试套件和 Web 构建,且 main 分支要求 PR 经过审核。请勿在差异中加入机密或真实连接字符串。安全问题请参阅 SECURITY.md。
本项目根据 GNU AGPL-3.0 获得许可。你可以自由使用、修改和自托管 Trove;如果你将修改后的版本作为网络服务运行,则必须按照相同的许可证公开源代码。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。