mcpField
S
StateJar memory

StateJar memory

远程服务
statejar.com记忆与知识02 天前更新

关于 StateJar memory

StateJar 集成套件为编码 Agent 和助手提供类型化、可版本追溯的事实记忆,而非对话记录。套件包含插件、技能、命令行工具和托管 MCP 服务;文档称托管服务将在 StateJar 下次发布时上线。

主要功能

  1. 01存储经过类型校验的事实
  2. 02保留仅追加的版本历史
  3. 03仅检索问题相关事实
  4. 04记录信息披露审计轨迹
  5. 05验证内容寻址的记忆状态

适用场景

  1. 01在 Agent 会话之间保存持久事实
  2. 02检索与查询相关的事实
  3. 03检查已披露的记忆内容
  4. 04核验记忆副本是否匹配其状态句柄

MCP 相关

文档介绍了位于 `https://statejar.com/mcp` 的托管 HTTP MCP 服务,提供记忆、搜索、获取、管理、审计、验证和导出事实的十种工具。README 称该端点尚未上线,计划随 StateJar 下次发布推出。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://statejar.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://statejar.com/mcp需要授权

工具

详细介绍

StateJar 集成

连接 AI 编码 Agent 和助手与 StateJar 的客户端代码。StateJar 是一个存储事实而非对话记录的记忆层:

  • 每个字段只有一个值,并根据其类型进行检查:不符合要求的值会被拒绝,并说明原因;
  • 版本只增不改:每次更改都会生成一个新版本,旧值保留在历史记录中;
  • 最小披露式回忆:助手只能获取回答问题所需的内容;
  • 每次披露都有审计记录;
  • 每个状态都有一个句柄(shm_…,即规范状态的 SHA-256),因此可以验证记忆的任何副本。
接入方式位置状态
托管 MCP 服务(任何支持通过 HTTP 使用 MCP 的客户端)https://statejar.com/mcp随 StateJar 下次发布上线
Claude Code 插件plugins/statejar/,指南见 claude-code/市场:此仓库
Codex 插件(同一插件)plugins/statejar/,指南见 codex/市场:此仓库
OpenCode 插件opencode/npm:opencode-statejar
Hermes Agent 记忆提供程序(memory.provider: statejar)hermes/statejar/从此仓库运行 hermes plugins install
OpenClaw 记忆槽插件openclaw/npm:openclaw-statejar
Agent 技能(任何会读取 SKILL.md 的 Agent)skills/statejar/复制到 Agent 的技能文件夹
CLI:statejar login,以及 init, add, search, list, forget, export, statusPyPI:statejarpip install statejar(0.6.0 提供 login、logout、whoami;其余七个命令将在 0.7.0 中提供)

每种集成都使用一个 StateJar 开发者密钥(https://statejar.com/api-keys),该密钥仅限用于你的账户。它们都不会存储对话记录,且都会在发送任何内容前移除机密信息。

可用性。 回忆和捕获功能会调用 StateJar 的 REST API https://api.statejar.com,该 API 已上线。插件的 StateJar 工具使用的托管 MCP 服务 https://statejar.com/mcp 将随 StateJar 下次发布上线。在此之前,这些工具无法连接,但回忆和捕获功能仍可照常使用。

任何 MCP 客户端

在 https://statejar.com/api-keys 创建开发者密钥,并将其设置为 STATEJAR_API_KEY。然后:

# Claude Code
claude mcp add --transport http statejar https://statejar.com/mcp --header "Authorization: Bearer $STATEJAR_API_KEY"
# Codex
codex mcp add statejar --url https://statejar.com/mcp --bearer-token-env-var STATEJAR_API_KEY

在 OpenCode 的 opencode.json 中:

{
  "mcp": {
    "statejar": {
      "type": "remote",
      "url": "https://statejar.com/mcp",
      "oauth": false,
      "headers": { "Authorization": "Bearer {env:STATEJAR_API_KEY}" }
    }
  }
}

其他客户端:配置远程(HTTP)MCP 服务 https://statejar.com/mcp,并添加请求头 Authorization: Bearer <your key>。十个工具分别是 remember、search、get、list、update、delete、history、audit、verify 和 export。

Claude Code

claude plugin marketplace add KING-OF-FLAME/statejar-integrations
claude plugin install statejar@statejar

请参阅 claude-code/README.md。

Codex

codex plugin marketplace add KING-OF-FLAME/statejar-integrations
codex plugin add statejar@statejar

然后通过 /hooks 信任插件的钩子。请参阅 codex/README.md。

OpenCode

将 "plugin": ["opencode-statejar"] 和 StateJar 的 MCP 服务添加到 opencode.json。请参阅 opencode/README.md。

Hermes Agent

hermes plugins install KING-OF-FLAME/statejar-integrations/hermes/statejar --enable
hermes memory setup          # choose statejar

请参阅 hermes/statejar/README.md。

OpenClaw

openclaw plugins install openclaw-statejar
openclaw statejar init       # the memory slot, autoRecall, autoCapture

请参阅 openclaw/README.md。

Agent 技能

将 skills/statejar/ 复制到 Agent 的技能文件夹(对于 Claude Code,则复制到 ~/.claude/skills/)。请参阅 skills/README.md。

StateJar 与 Mem0 的实测对比

在 StateJar 的 memory-QA 测试集(100 段对话、300 个问题)中,两个系统使用同一个小型本地模型 (Qwen3-4B-Instruct-2507 Q4,运行于一块 GPU),StateJar 的记忆保留了 300 个问题中的 248 个答案,而 Mem0 的记忆(按原样发布的 2.2.1 版本)保留了 300 个问题中的 152 个答案(McNemar p = 1.4e-18)。分别使用每个系统记忆中的一个提示词生成的答案,StateJar 答对了 300 次中的 218 次,Mem0 答对了 300 次中的 159 次。这只是一项基准测试,且仅适用于该测试环境。测试方法和注意事项:https://statejar.com/docs/mem0.html。

测试

python -m pytest tests/
claude plugin validate ./plugins/statejar && claude plugin validate .

端到端测试,针对本地或暂存环境中的 StateJar(绝不针对生产环境):在真实客户端的一个会话中陈述的事实,会在新会话中通过钩子和 StateJar 的 MCP 工具被回忆起来。每次运行都会创建一个临时账户并将其删除。机器上没有模型时,脚本化替身(e2e/scripted_model.py)会回答“OK”或调用 StateJar 的 search,并逐字重复其输出;codex_e2e.py --model ollama:<name> 则使用真实的本地模型。

python e2e/codex_e2e.py --api http://127.0.0.1:8000/api/v1 --mcp http://127.0.0.1:8000/mcp --out /tmp/codex-e2e
python e2e/claude_code_e2e.py --api http://127.0.0.1:8000/api/v1 --mcp http://127.0.0.1:8000/mcp --out /tmp/cc-e2e
python e2e/opencode_e2e.py --api http://127.0.0.1:8000/api/v1 --mcp http://127.0.0.1:8000/mcp --out /tmp/oc-e2e
python e2e/hermes_e2e.py --api http://127.0.0.1:8000/api/v1 --out /tmp/hermes-e2e
python e2e/openclaw_e2e.py --api http://127.0.0.1:8000/api/v1 --out /tmp/openclaw-e2e     # Node 24.16+
python e2e/openclaw_discovery.py       # what OpenClaw itself loads from the plugin; no model, no StateJar
HERMES_PYTHON=/path/to/hermes/venv/bin/python python -m pytest tests/test_hermes_provider.py   # with Hermes's own loader
python e2e/codex_discovery.py          # what Codex itself loads from the plugin; no model, no StateJar

许可证

MIT(参见 LICENSE)。这些客户端所连接的 StateJar 服务有自己的条款:https://statejar.com/terms。

评论

支持 Markdown

第一次接触 MCP?

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

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