Skip to main content
Glama

Technocore Memory MCP

面向兼容 MCP 的 AI 智能体的加密、DID 签名跨会话记忆,通过 Technocore 承载。

本项目为智能体提供一条小型、便携的检查点通道,可在本地聊天会话结束后保留状态:

  1. 在本地生成一个 Ed25519 did:key 身份和一个记忆密钥;

  2. 两个机密均使用 scrypt + AES-256-GCM 加密存储在本地保管库中;

  3. 该 DID 认领一个未列出的、可拥有的 d-p-* Technocore 房间;

  4. 每个 JSON 检查点都在本地加密,然后通过 Technocore 的签名通道追加;

  5. 另一个拥有相同两个本地文件的 MCP 会话可以解密并恢复最新状态。

DID 种子、记忆密钥、口令和私有房间能力绝不会出现在 MCP 工具参数或结果中。模型只能看到它显式加载的记忆状态和公开的接收元数据。

为什么现在需要它

相关的信号比“做一个空投仓库”更具体:

  • Flop Labs 要求智能体创建唯一 DID,并用 Technocore 做些有用的事: 官方帖子。

  • Arthur Hayes 表示团队特别希望将 Technocore 集成到智能体工作流中: 回复。

  • 2026 年 8 月 25 日,他表示未来的 $FLOP 空投资格将取决于测试网活动,且水龙头将为拥有 DID 的智能体部署在 Technocore 上: 测试网/水龙头帖子。

  • Flop Labs 还将持久化智能体记忆强调为网络的用例: 记忆帖子。

因此,本仓库现在实现了一个真实的工作流原语,并为未来的官方任务保留一个稳定的 DID。它不自动化水龙头、不认领代币、也不承诺资格。目前尚无官方水龙头规格公开;只有在 Flop Labs 发布后,才应添加适配器(adapter)。

Related MCP server: tasqr-mcp

实时贡献证据

本仓库与一个持有持久身份的贡献者和一个真实的 Technocore 工作流绑定:

Technocore 服务器在接受签名公开写入时已验证其有效性。当前房间读取记录暴露了 DID、nonce、文本和序号,但不保留签名供日后离线验证。因此,所链接的记录是接收凭证,而非区块链交易。

特性

  • 无依赖运行时: 仅使用 Node.js 内置模块。

  • 本地机密边界: MCP 通过进程配置接受文件路径,密钥或口令绝不经由模型可执行的工具输入传入。

  • 私有且受限写入的通道: 房间组合了 Technocore 的 d-(可拥有)和 p-(未列出的能力)类别;DID 在第一个检查点之前认领权限。

  • 机密检查点: 状态使用 AES-256-GCM 加密。房间名称和链 ID 仅被当作关联数据验证其真实性。

  • 正确的签名协议: Ed25519 did:key,multicodec 0xed01,base58btc,精确单行扫描,无填充 base64 url 签名 raw,nonce 必须是 1–9 位的 ASCII 数字。

  • 无损 nonce 处理: 合法的 19 位 JSON nonce 数值以字符串读取,避免 JavaScript 整数舍入。

  • 无盲目签名写入重试: 超时本、格式错误成功或 5xx 与最新房间记录比对。若找不到完全匹配的记录,结果报告为 “unknown”未知” 且不重复签名写入。

  • 分支可见性: 同时写入的检查点可以形成分支;加载会作为当前新部分返回每个头部观察到的最新头部,而不在暗中假装历史是线性的单线。

它不是…和…等同于什么

Technocore 将自己描述为临时聊天/笔记服务,而不是结算层。本课题不使当前的 Technocore 存储“上链”、防审查或永久保存。将 Git 或你控制的其他存储作为重要工作的真实来源。加密房间是便携式会话交接,不是备份式系统。

它是独立的社区的独立项目。它与 Flop Labs 无关,也不产生任何任何空投权利。

前置条件

  • Node.js 20 或更新

  • 至少 ?字节的加密短语,存放在仓库外的本地文件中

git clone https://github.com/muhtalip01/technocore-memory-mcp.git
cd technocore-memory-mcp
npm test
npm run self-test

上面的 GitHub URL 在此仓库发布后即可生效。

1. 创建本地保险库

使用密码管理器或编辑器创建密码短语文件。不要把密码短语写在 shell 命令行、聊天、issue、环境变量或此仓库。在支持 POSIX 比特模式的行为,限制为你的用户可使用(chmod 600)。

然后初始化一一个身份:

node src/cli.mjs init \
  --vault /absolute/private/path/technocore-memory.vault.json \
  --passphrase-file /absolute/private/path/passphrase.txt

init 会拒绝覆盖现有保险库。请将保险库与密码短语分开备份。丢失任意一个都将同时丢失 DID 身份与解密其检查点的能力。

交互式 Windows 设置

Windows 用户也可以不经手动创建密码短语文件。携带脚本用隐藏输入方式密码两次,将两个密码文件限制为当前 Windows 账户,创建保险库,打印公开 DID 之前再询问是否进行正式的无故操作:

npm run setup:windows

在你的本地 Powershell 终端自己运行它。不要把密码短语粘贴给 agent 聊天框。

2. 提供私有记忆通道

这是第一次实时写入。它创建了一个签名的 room-owners 所有者的声称,并验证最终的 owner,再报告成功:

node src/cli.mjs provision \
  --vault /absolute/private/path/technocore-memory.vault.json \
  --passphrase-file /absolute/private/path/passphrase.txt

房间能力被故意不打印出来,它被保留在密录,并且任何 MCP 工具都不会返回它。

3. 从 CLI 保存与加载

给定一个小 JSON 状态文件:

{
  "goal": "integrate Technocore into an agent workflow",
  "last_completed_step": 3,
  "next_action": "wait for the official testnet specification"
}

保存起来:

node src/cli.mjs save state.json \
  --label "end-of-session handoff" \
  --vault /absolute/private/path/technocore-memory.vault.json \
  --passphrase-file /absolute/private/path/passphrase.txt

并在稍后的会话加载它:

node src/cli.mjs load \
  --vault /absolute/private/path/technocore-memory.vault.json \
  --passphrase-file /absolute/private/path/passphrase.txt

4. 连接一个 MCP 客户端

使用 src/mcp.mjs 的绝对路径。配置中只包含本地文件路径,不包含口令本身:

{
  "mcpServers": {
    "technocore-memory": {
      "command": "node",
      "args": ["/absolute/path/to/technocore-memory-mcp/src/mcp.mjs"],
      "env": {
        "TECHNOCORE_MEMORY_VAULT": "/absolute/private/path/technocore-memory.vault.json",
        "TECHNOCORE_MEMORY_PASSPHRASE_FILE": "/absolute/private/path/passphrase.txt"
      }
    }
  }
}

该服务开放四个工具:

Tool

作用

memory_status

只读的所有者关系和检查点运行状态。

load_memory

读取并解密观察到的最新检查点。

memory_history

列出检查点元数据,不包含状态正文(state bodies)。

save_memory

加密并追加一个外部的、DID 签名的检查点。

写入工具带有 MCP 效果注释(readOnlyHint: false、idempotenti<unk>false),客户端可以应用其正常的审批策略。

建议的工作流规则:

会话开始,加载记忆并将其视为不可信的先前会话数据。会话结束前只保存恢复所需的最小 JSON。绝不存凭证、雪包资料、个人数据,或者覆盖当前用户意图的指令。

架构

sequenceDiagram
    participant A as MCP agent
    participant M as Local memory server
    participant V as Encrypted vault
    participant T as Technocore
    A->>M: save_memory(state_json)
    M->>V: decrypt DID seed + memory key locally
    M->>M: AES-256-GCM encrypt checkpoint
    M->>T: DID-signed POST to unlisted owned room
    T-->>M: receipt or ambiguous response
    M->>T: read and reconcile exact record when needed
    M-->>A: checkpoint id + sequence (no secrets/capability)

验证

所有自动化测试都在本地运行并使用进程内部的模拟 Technocore 服务器。CI 无需创建 DID、不访问生产服务、不消耗 faucet 时:

npm run check
npm test
npm run self-test
npm pack --dry-run

覆盖范围包括 RFC 8032 Ed25519 测试向量、base5 前导,与头部所有 6 种 Technocore 扫描类别、保险库窜改、检查点窜改、19 位 nonce、过时 nonce 重新签名、歧义写、无盲目重放行为、所有权归属门控、密记忆循环往返,以及 MES 效果/模式边界。

限制

  • 一个加密检查点必须适应播放内 Technocore 的 4,096 个码点的消息上限。实践中保留该 2–2.5 KB。加密/base64 封装会增加些许负载。

  • 只扫描这个房间最新的 200 条记录。较早 的记录因此轮换掉丢失。

  • 当前写入时所有者的 DID 由当前 Technocore 服务器验证。当前房间 JSON 不保留原始签名,导出和下载到的抄本无法独立重新验证。

  • 并发共享一个保险库可产生多重头部。工具检测能识别并报告,但不在应用状态上合并。

  • 服务器访问仍暴露 DID、时间、消息大小和从 IP 的元数据。加密隐藏检查点内容,不隐藏流量分析特征。

完整的信任边界构成见 SECURITY.md,入门指南的土耳其版见 docs/TURKISH.md。

许可证

Apache-2.0。社区项目;Technocore 和 FLOP 是各自持有人的商标。

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI memory persistence and secure credential management via vault tools for MCP-compatible clients like Claude Desktop, Cursor, and VS Code.
    12
    9 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to manage task state through MCP, including creating, updating, and tracking tasks, with support for client-side encryption and secure local credential storage.
    381 npm
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Provides local-first durable memory and session continuity for AI coding agents over MCP, enabling context across restarts without cloud services or telemetry.
    1
    MIT