mcpField
K
KMP

KMP

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

关于 KMP

KMP 是面向编码 Agent 的本地优先记忆工具,将决策、证据和时间存入内嵌 SQLite,而非保存对话记录。它支持跨会话检索和审计;证据不足时会回答 UNKNOWN。

主要功能

  1. 01记录决策、证据和时间
  2. 02检索并审计记忆证据
  3. 03浏览时间记忆及其关系
  4. 04打开 ChronoLoom 查看器
  5. 05导出 JSONL 项目记忆

适用场景

  1. 01在新会话中恢复项目决策
  2. 02追溯决策依据
  3. 03查看过去某时点已知的信息
  4. 04导出并检查项目记忆

MCP 相关

本地 stdio MCP 服务提供用于检索、审计、浏览和写入记忆的类型化工具,也可控制共享的 ChronoLoom 视图。可用工具以 tools/list 为准。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbkmp-mcp-v0.24.0.mcpb
cargokmp-mcp0.24.0

工具

还没有获取到工具列表

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

详细介绍

KMP — 记住缘由的 Agent 记忆

KMP

本地优先。附带证据。包含时间。

CI Release crates.io License

KMP 是面向编码 Agent 的本地优先记忆。它作为一个小型二进制程序,内置 SQLite 存储,运行在 Codex、Claude Code 和 Hermes Agent 旁边,并记住做出了什么决定、依据是什么,以及事情发生的时间。它不保存对话记录。无需账户、服务或 API 密钥:记忆保留在你的设备上。

向 Agent 提问 “我们为什么选择 SQLite?”,它会根据存储的证据作答;如果证据不足,它会回答 UNKNOWN,而不是猜测。提问 “给我看看这项决定背后的记忆”,内置于二进制程序中的查看器 ChronoLoom 就会打开并定位到该决定,同时高亮显示其证据路径。时间是一个可供浏览的维度,你和 Agent 可以共同操控视图。记忆工具负责检索和审计证据,视图工具负责操控共享的 ChronoLoom 视图,而运行中的服务所提供的功能以 tools/list 为准。

问题

你的 Agent 今天做出了一项决定。明天开启新会话,或换用另一个 Agent,它可能会从头重新发现同一事故,也可能因为决定的缘由藏在已经消失的上下文窗口中,而悄悄推翻这项决定。摘要会丢失缘由;对话记录则会把它埋没。

KMP 将决定、所依据的证据以及发生时间保存为有类型的时间记忆,供下一个会话查询,而不必重新推导:

  • 证据决定哪些说法有据可依;
  • 关系说明两条记忆为何相互关联;
  • 时间穿梭明确、基于游标且可审计;
  • 旧决定会被新决定取代,但绝不会悄悄改写;
  • 证据不足时,UNKNOWN 是诚实的回答。

两分钟了解它

在你的宿主环境中安装 KMP(见下文),然后在任意项目中:

kmp-mcp demo

它会在该项目的记忆中写入一个完整示例——涵盖结账服务、一次事故、取代先前决定的新决定,以及用于验证的测量结果;随后打开 ChronoLoom 显示该示例,并打印可提问的问题:

你提问你会得到
“为什么向支付服务提供商发起的重试次数上限是两次?”这项决定,以及它引用的事故和 ADR。
“2026 年 8 月,我们对重试问题的看法是什么?”当时的旧决定,而不是后来取代它的次数上限。
“2026 年 9 月,关于重试的问题发生了什么变化?”按顺序呈现的事故、次数上限和测量结果。
“给我看看重试次数上限决定背后的记忆。”ChronoLoom 会打开并定位到该决定,同时高亮显示其证据路径。

在请求中提及 KMP 和 example:kmp-demo。此示例不会进入你项目的已提交内容包。更多示例,包括 KMP 自身的记忆。

安装

安装插件、运行设置,然后重启一次宿主环境。指南会在首次读取时创建一个全新的存储;无需再运行其他操作。

Claude Code
/plugin marketplace add underpass-ai/kmp@marketplace
/plugin install kmp@underpass
/kmp:setup
Codex CLI
codex plugin marketplace add underpass-ai/kmp --ref marketplace
codex plugin add kmp@underpass

然后让 Codex 运行 kmp-setup。

Hermes Agent

安装 kmp-mcp 后,通过原生生命周期注册它并安装技能:

kmp-mcp setup --hermes
验证
kmp-mcp doctor

或运行 /kmp:doctor。MCP 注册由插件负责,因此不要手动添加第二个 KMP 服务。对于没有已发布引擎的平台,可使用 cargo install kmp-mcp --locked 作为备用方案;MCPB 包、发行版 tarball 和 Pi 编码 Agent 的相关说明请参阅插件安装指南。存储选择和修复请参阅 Embedded KMP。

像和真人交谈一样使用它

通常,你只需提出想要的结果。KMP 技能会选择记忆操作。

你说Agent 执行的操作你会得到
“继续 KMP 文档工作。”在重新推导之前唤起 project:kmp。当前决策、约束和后续行动。
“我们为什么选择 SQLite?”查询记忆并依据已存储的证据作答。有依据的答案,或 UNKNOWN。
“KMP 记得昨天的什么?”确定时间区间并浏览其中每个时间页面。那段时间内按顺序排列的记忆。
“为什么三月推迟了发布?”站在三月查询记忆:只有发生在该时间范围内的内容会参与比较,生命周期也按当时的状态读取。来自那个时间点的有依据答案,或标明时间范围外最近匹配项的 UNKNOWN。
“记住,日志显示重试会放大问题,因此重试次数上限为 2。”记录决策、证据及有意义的关联。持久状态,并附有可审计的原因。
“展示这起事故与那个决策之间的证据链。”追踪带类型的路径并检查其证据。已存储的关联、理由和来源。
“撤销那个决策。”写入一个取代旧状态的新状态。两个决策都会在时间线上保留。
“保存项目记忆。”导出维护中的项目包并显示其差异。可供审查的 .kmp/memory.jsonl。

KMP 是记忆,不是监控。存储持久的决策和证据,而不是对话记录。

它也会等待你提出请求。如果一个会话从未提及记忆,就完全不会调用 KMP。提及 KMP、运行 /kmp:* 命令,或在项目的 CLAUDE.md 或 AGENTS.md 中选择启用,才会开启使用途径。如果你希望它自动进入已知工作:

kmp-mcp config memory-routing always
kmp-mcp config memory-routing on-request   # the default

你可以用任何语言提问。存储的证据绝不会被翻译;答案会以你的语言返回。了解其工作原理。

工作原理——10 秒版

flowchart LR
    U[You] --> H[Codex or Claude]
    H --> S[KMP skill]
    S -->|chooses a move| M[kmp-mcp]
    M --> K[embedded kernel]
    K --> D[(.kernel/\nSQLite)]
    K --> V[local read-only viewer]

插件会安装技能并声明一个本地 MCP 进程。技能会将意图转换为一个或多个带类型的工具。kmp-mcp 会验证请求,内核则读取或写入本地图谱时序存储。将返回的证据转化为对话式文字的是 Agent,而不是 KMP。

层负责不负责
插件安装、宿主发现、技能和唯一的 MCP 声明。记忆语义或第二套工具词汇。
技能决定何时恢复、提问、导航、审计、写入、诊断、保存或还原。持久化。
kmp‑mcp基于本地 stdio、经过模式校验的工具边界。根据用户的描述选择工作流。
内核校验、时间存储、遍历、确定性检索和证据证明。生成文字或编造理由。

探索 ChronoLoom · 技术架构

本地即本地

边界默认行为
记忆存储在你的机器上,通常位于仓库的 .kernel/ 中。
MCP 传输Agent 主机与 kmp-mcp 之间通过本地 stdio 通信。
查看器只读的回环 HTTP,通常以 http://127.0.0.1:7317/ 为根地址,并受每个会话随机生成的能力令牌保护。
外部服务不需要任何服务;可选的 TypeSafe Jev 集成会将选定文本发送到已配置的服务。
Underpass在此路径中不会接收任何记忆,也不会运行任何服务。
更新设置和更新会联系 GitHub Releases,以获取带校验和的安装包;Claude 会话钩子每天可以检查发布版本。
本地元数据Agent 身份和指南发送记录存放在记忆检索范围之外;质量诊断使用单独的本地日志。
云端 Agent返回给云端 Agent 的证据受该主机的数据政策约束。

.kernel/ 是机器状态目录,会被 git 忽略。项目范围的存储还会维护 .kmp/memory.jsonl。导出和 Git 提交都是本地操作;推送、同步或共享此捆绑包会让其中的内容在其他地方可用。共享前请检查差异。Agent 读取的证据同样受主机的数据政策约束,无论你是否共享此捆绑包。

KMP 自身的记忆

这个仓库也在实践自己所倡导的做法。.kmp/memory.jsonl 记录了 KMP 为何如此设计:每项决策背后的原因、说明该决策的文档,以及取代旧决策的新决策。使用 /kmp:restore 恢复,并询问“为什么发布最后才推进 marketplace 分支?”写入方式。

真正需要时再使用共享记忆

多台机器可以通过由 Kubernetes 提供支持、以 Neo4j、Valkey 和 NATS JetStream 为后端的拓扑,共享一个运行中的 KMP 服务。它仍然免费、开源且由用户自行运维。“企业级”描述的是运维形态,而非付费层级或由 Underpass 托管的产品。这也意味着需要自行负责基础设施、TLS、身份、授权和可观测性。在这些责任能带来实际价值之前,请先保持本地部署。之后再阅读企业版 KMP。

项目状态

KMP 尚未达到 1.0 版:如今已实用,同时仍在积极演进,并明确说明其尚不完善之处。发布自动化会为 Linux x86_64/arm64、macOS arm64/x86_64 和 Windows x86_64 构建 kmp-mcp。默认使用嵌入式路径;远程 API 的版本为 v1beta1,需要由运维人员负责。

我们不会把过时的基准测试数据贴进 README。可复现的最新证据应先放在研究中,再用于支持相关论断。

常见问题

KMP 会把我的记忆发送到其他地方吗?

在默认的嵌入式设置下不会。进程、存储和查看器都在本地运行。Agent 主机可能由云端提供支持,因此发送给该 Agent 的证据受主机的数据政策约束。

我需要 Docker、Kubernetes 或数据库服务器吗?

不需要。随附的嵌入式二进制文件使用 SQLite。Kubernetes 仅用于部署共享服务。

KMP 内置大模型吗?

默认的嵌入式路径不需要生成式模型。KMP 会验证、存储并检索证据;你的 Agent 会撰写最终答案和英文搜索摘要。可选的 TypeSafe Jev 功能会将选定文本发送给外部模型进行判断;可选的语义检索则使用本地编码器。这些集成都需要显式配置。请参阅检索默认设置与可选启用项。

Codex 和 Claude 可以共享同一份记忆吗?

可以:两者都使用相同的 MCP 合约,而且 SQLite 支持多个本地主机。可使用维护中的项目捆绑包在机器间迁移状态,或使用企业级拓扑实现共享网络访问。

UNKNOWN 是错误吗?

不是。这表示所选记忆中没有适用于该问题的证据。这比自信地编造内容更安全。

工具消失了。现在该怎么办?

运行主机的 kmp-doctor 工作流,并按照 工具缺失运行手册操作。常见原因 包括主机会话过期、MCP 所有权重复、缺少二进制文件或存储格式不受支持。

企业版 KMP 需要付费吗?

不需要。代码采用 Apache-2.0 许可。你需要自行运营并支付所选基础设施的费用。

MCP 工具

用于记忆、用于查看者当前视图,以及用于持久化 Agent 身份和渐进式引导的工具。tools/list 是权威来源。

工具用途
kmp_guide打开能力图谱,保留 Agent 身份,并展开一个示例卡片。
kmp_wake恢复精简状态,以便继续工作。
kmp_ask检索语义问题的证据,或返回 UNKNOWN。
kmp_relate在多个 about 共享的范围和时钟内,读取它们的记忆彼此之间的关系。
kmp_time沿一个时钟浏览记忆:rewind 和 forward 从游标处或指定区间向后和向前翻页,goto 跳转到某个时间、序列或 ref,near 读取某个位置附近的内容。
kmp_trace审计两个 ref 之间的路径,或从种子 ref 搜索证据;检查返回的支持信息和完整性。
kmp_inspect在明确指定的 about 中检查一个对象及其链接和证据。
kmp_write_memory验证并记录一项决策、约束或结果。
kmp_ingest导入精确的规范记忆图谱。
kmp_relabel更改记忆所代表的标签——添加、移除并说明原因,而不重写其文本。
kmp_condense为一个已存储的正文撰写精简阅读卡,并将其绑定到读取时对应的精确版本。
kmp_summaries_audit查看某个 about 的记忆相对于其英文搜索摘要的状态:缺少什么、lint 拒绝什么,以及哪些摘要已通过检查但仍无法检索到多少内容。
kmp_curate将 TypeSafe Jev 作为可选的第二位审阅者,审查一个或多个 about 之间的关系:列出未声明的关系对及 Jev 会选择的类型,并列出 Jev 对其理由存疑的已声明关系。所有关系均由 Agent 编写。
kmp_view_open打开或重新载入某个 about 的 ChronoLoom 视图。
kmp_view_apply_intent在乐观并发控制下,通过声明含义——焦点、时钟、缩放、筛选器、选择——来移动该视图。
kmp_view_get_state读取视图的语义状态,而非其像素。

视图工具绝不会写入记忆:它们使用封闭的语义词汇表,不包含坐标;织机前的人拥有优先权——基于过期版本准备的意图会发生冲突,而不会强行夺走视图。

kmp-setup、kmp-doctor、kmp-info、kmp-catchup、kmp-save、kmp-restore 和 kmp-revert 等人工工作流组合了 MCP 接口。它们不是额外的记忆动词。经机器检查的所有权映射位于 plugins/kmp/capabilities.json。

文档和项目链接

当文字说明与实现不一致时,以实现和可执行检查为准:MCP 架构、插件能力、CLI 帮助、Helm 配置值、API 契约和 CI 脚本才是事实来源。

许可证

Apache License 2.0。免费且开源。

评论

支持 Markdown

第一次接触 MCP?

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

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