大多数MCP服务器都默认LLM会参与流程——实体抽取、嵌入生成、结果排序,有些甚至调用外部API来决定该取哪个节点。这确实让服务器显得更"聪明"。但Ty Kolt想解决的是另一个问题。

他花了很长时间尝试给Claude Desktop一个可靠的记忆。不是对话摘要,而是能针对具体事实给出"是或否"的明确回答。他试过语义搜索、向量相似度、RAG,这些技术擅长找到相关内容,但"找到类似这个主张的内容"和"这个主张是否被我的数据支持"是两回事。87%的置信度分数无法告诉你Alice到底有没有博士学位。

打开网易新闻 查看精彩图片

于是他放弃了检索这条路。不是检索——是接地(grounding)。

打开网易新闻 查看精彩图片

Kremis是Kolt用Rust写的图存储系统。你喂给它实体-属性-值三元组,它构建确定性图。查询时返回的就是图里的内容,相同输入永远得到相同输出。

MCP桥接层(kremis-mcp)是一个stdio进程,将HTTP代理到运行中的Kremis服务器。它不调用任何外部API,只是把MCP工具调用翻译成HTTP请求。配置很简单:指定命令路径和环境变量里的KREMIS_URL即可。

九个工具:ingest(摄入)、lookup(查找)、traverse(遍历)、path(路径)、intersect(交集)、status(状态)、properties(属性)、retract(撤回)、hash(哈希)。Claude直接查询图,而不是从记忆中生成答案。

服务器一个二进制文件,桥接层一个二进制文件。没有Python运行时,没有嵌入模型,记忆层不需要API密钥

打开网易新闻 查看精彩图片

代价是Kremis不会自动抽取实体。你得自己摄入结构化三元组,或者写个工具来做这件事。这是故意的——如果在写入路径加入基于LLM的抽取,就等于把刚从读取路径去掉的概率层又加回来了。

如果需要从非结构化文本自动抽取,用RAG系统。Kremis适用于你已经知道数据结构、想要可审计记忆层的场景。

项目已开源:github.com/TyKolt/kremis。当前版本v0.18.1,1.0之前会有破坏性变更。