mcpField
M
Memstate AI - Git for Agent Memory

Memstate AI - Git for Agent Memory

本地服务
github.com/memstate-ai记忆与知识830 周前更新

关于 Memstate AI - Git for Agent Memory

Memstate AI 是面向 AI Agent 的托管版本化记忆服务,将事实存入结构化键路径并保留历史。它通过 MCP 服务支持冲突检测和检索,无需用户自行运行基础设施。

主要功能

  1. 01从文本和 Markdown 提取键路径
  2. 02检测相互冲突的事实
  3. 03保留完整版本历史
  4. 04浏览和搜索项目记忆
  5. 05软删除并保留记忆历史

适用场景

  1. 01在 Agent 会话间延续项目决策
  2. 02跟踪架构或配置的变化
  3. 03查找并审阅相互冲突的项目事实

MCP 相关

MCP 服务提供存储、检索、搜索、查看历史和软删除项目记忆的工具。配置时需要提供 `MEMSTATE_API_KEY`。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"memstate": {
"command": "npx",
"args": [
"-y",
"@memstate/mcp"
],
"env": {
"MEMSTATE_API_KEY": "<MEMSTATE_API_KEY>"
}
}
}
}
启动命令npx -y @memstate/mcp
需要配置的环境变量
MEMSTATE_API_KEY密钥

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

安装包
npm@memstate/mcp

工具

还没有获取到工具列表

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

详细介绍

Memstate AI - MCP

npm version License: MIT MCP Node memstate-mcp MCP server

为 AI Agent 提供版本化记忆。 存储事实、检测冲突,并追踪决策随时间的变化——通过托管的 MCP 服务提供。

仪表板 · 文档 · 定价


为什么选择 Memstate?

RAG(大多数其他记忆系统)Memstate AI
每次对话的 Token 用量~7,500~1,500
Agent 可见性黑盒完全透明
记忆版本管理无完整历史
记忆增长时的 Token 增长O(n)O(1)
所需基础设施是无——托管式 SaaS

其他记忆系统会把所有内容都塞进上下文窗口,然后听天由命。Memstate 为你的 Agent 提供一个结构化、版本化的知识库,让它能够精准浏览——只加载所需内容,了解发生了哪些变化,并知道事实何时发生冲突。


基准测试

我们构建了一套开源基准测试套件,用于测试 Agent 记忆真正重要的能力:系统能否存储事实、跨会话准确回忆、在内容变化时检测冲突,并在项目不断演进时保持上下文?

正面对比:Memstate AI 与 Mem0

两个系统在相同条件下进行了测试,使用同一个 Agent(Claude Sonnet 4.6,temperature 0)、相同的场景和相同的评分标准。

指标Memstate AIMem0胜出者
总分69.115.4Memstate
准确度(事实回忆)74.112.6Memstate
冲突检测85.519.0Memstate
上下文连续性63.710.1Memstate
Token 效率22.330.6Mem0

评分权重:准确度 40%,冲突检测 25%,上下文连续性 25%,Token 效率 10%。

各场景明细

基准测试运行五种真实场景,模拟多会话 Agent 工作流:

场景Memstate AIMem0
Web 应用架构演进43.255.6
身份验证系统迁移66.210.2
数据库架构演进72.77.0
API 版本冲突86.50.9
团队决策反转77.23.3

Mem0 在第一个场景(简单的架构追踪)中胜出,但在需要处理矛盾、跨会话上下文和追踪决策反转的场景中表现严重不足——在五个场景中的三个得分接近零。

Memstate 胜出的原因

基准测试揭示了根本性的架构差异:

Mem0 使用基于嵌入的语义搜索。 事实会被分块、嵌入,并按相似度检索。这适用于简单查询,但在以下情况下会失效:

  • 事实与之前的事实矛盾时(系统无法区分当前信息和过时信息)
  • 需要精确回忆时(嵌入返回的是“相似”结果,而非精确结果)
  • 写入到读取的延迟很重要时(新记忆需要数秒才能被搜索到)

Memstate 使用结构化、带版本的键值存储。 每条事实都存储在明确的键路径下,并保留完整的版本历史。这意味着:

  • 内置冲突检测——新事实与旧事实矛盾时,系统会识别并保留两个版本
  • 回忆结果具有确定性——返回的内容与存储的内容完全一致,而非近似匹配
  • 跨会话连续性可靠——Agent 会遍历结构化树,而不是寄希望于语义搜索能找到正确的上下文
  • Token 成本保持 O(1)——Agent 会先加载摘要,仅在需要时深入查看细节,而不是把所有可能相关的嵌入都塞进上下文窗口
公平性说明
  • 两个系统使用了相同的 Agent 模型、温度设置和评估标准
  • 为考虑 Mem0 的异步嵌入流程,在写入和读取之间为 Mem0 设置了 10 秒的摄取延迟
  • Mem0 的 Token 效率得分更高,但应结合具体情况解读这一指标——Token 用量较低可能仅仅意味着返回的信息较少。检索到的信息不完整或不正确的系统,每次响应使用的 Token 较少,但可能需要更多后续调用,最终要花费更多 Token 才能得到相同的答案
  • 本仓库包含基准测试源代码,可供完整复现
  • 使用自定义配置或不同的嵌入模型时,Mem0 的表现可能有所不同

快速开始

在 memstate.ai/dashboard 获取 API 密钥,然后将其添加到 MCP 客户端配置中:

{
  "mcpServers": {
    "memstate": {
      "command": "npx",
      "args": ["-y", "@memstate/mcp"],
      "env": {
        "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

无需 Docker。无需数据库。无需基础设施。60 秒即可运行。


客户端设置

Claude Desktop

配置文件位置:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "memstate": {
      "command": "npx",
      "args": ["-y", "@memstate/mcp"],
      "env": { "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE" }
    }
  }
}
Claude Code
claude mcp add memstate npx @memstate/mcp -e MEMSTATE_API_KEY=YOUR_API_KEY_HERE
Cursor

在 Cursor Settings → MCP → Add Server 中添加——使用与上方 Claude Desktop 相同的 JSON 格式。

Cline / Windsurf / Kilo Code / Roo Code

它们都支持相同的 stdio MCP 配置格式。将配置添加到客户端的 MCP 设置文件中。


核心工具

工具使用时机
memstate_remember存储 Markdown、任务摘要和决策。服务会自动提取键路径并检测冲突。大多数写入操作都应使用此工具。
memstate_set将单个键路径设为较短的值(例如 config.port = 8080)。不适用于散文内容。
memstate_get浏览某个项目或子树中的所有记忆。每项任务开始时都应使用。
memstate_search不知道确切键路径时,按含义进行语义搜索。
memstate_history查看某条知识随时间的变化——完整的版本链。
memstate_delete软删除某个键路径。会创建墓碑;完整历史会保留。
memstate_delete_project软删除整个项目及其所有记忆。
键路径的工作方式

记忆以分层点号表示法组织:

project.my_app.database.schema
project.my_app.auth.provider
project.my_app.deploy.environment

键路径会自动添加前缀:keypath="database" 且 project_id="my_app" → project.my_app.database。Agent 可以深入查找所需内容——无需导出完整上下文。


工作原理

Agent: memstate_remember(project_id="my_app", content="## Auth\nUsing SuperTokens...")
         ↓
Server extracts keypaths:  [project.my_app.auth.provider, ...]
         ↓
Conflict detection:  compare against existing memories at those keypaths
         ↓
New version stored — old version preserved in history chain
         ↓
Next session: memstate_get(project_id="my_app") → structured summaries only
         ↓
Agent drills into project.my_app.auth only when it needs auth details

无论记忆总量有多少,Token 成本都保持不变。


添加到 Agent 指令中

复制到 AGENTS.md 或系统提示词中:

## Memory (Memstate MCP)

### Before each task
- memstate_get(project_id="my_project") — browse existing knowledge
- memstate_search(query="topic", project_id="my_project") — find by meaning

### After each task
- memstate_remember(project_id="my_project", content="## Summary\n- ...", source="agent")

### Tool guide
- memstate_remember — markdown summaries, decisions, task results (preferred)
- memstate_set — single short values only (config flags, status)
- memstate_get — browse/retrieve before tasks
- memstate_search — semantic lookup when keypath unknown
- memstate_history — audit how knowledge evolved
- memstate_delete — remove outdated memories (history preserved)

环境变量

变量默认值描述
MEMSTATE_API_KEY(必填)来自 memstate.ai/dashboard 的 API 密钥
MEMSTATE_MCP_URLhttps://mcp.memstate.ai用于覆盖可自托管部署的地址

验证连接

MEMSTATE_API_KEY=your_key npx @memstate/mcp --test

打印所有可用工具,并确认你的 API 密钥有效。

为值得了解自身所知内容的 AI Agent 而打造。

评论

支持 Markdown

第一次接触 MCP?

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

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