结构化记忆存储工具

Memory MCP是一个简单的服务器,用于记录和管理结构化记忆条目到每个项目的JSON文件中,支持令牌预算和FIFO淘汰策略。

  • by Artin0123
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Artin0123/workflow-mcp

使用说明

存储器MCP

此存储库实现了一个小型MCP服务器,该服务器公开了 mem_save 用于将结构化内存条目记录到每个项目JSON文件中的工具(.memory/memory.json).服务器故意设计得很简单:它存储人工智能提供的条目,并执行令牌预算FIFO驱逐策略。

安装

npm install
npm run build

配置

将此服务器添加到MCP客户端配置中。例子:

{
  "mcpServers": {
    "memory-mcp": {
      "command": "node",
      "args": ["/path/to/mcp/dist/server.js"]
    }
  }
}

特性

此服务器不会自行汇总或决定存储什么。用户应决定何时拨打电话 mem_save.

  • 工具: mem_save --记录项目的内存(JSON存储)
  • 令牌估计和FIFO驱逐,以保持估计令牌≤1000
  • 自动创建 .memory/memory.json 如果丢失

mem_save行为

输入:

  • projectPath (string):AI提供的绝对项目路径
  • entries (array):内存条目对象列表。每个条目都有:
    • what (字符串)
    • why (字符串)
    • outcome (字符串)
    • task_context, constraints, dependencies (可选字符串)

储存:

  • 内存存储在 <projectPath>/.memory/memory.json:

    { “条目”:[…], “meta”:{ “total_entrys”:数字, “estimated_tokens”:数字, “last_updated”:“YYYY-MM-DD” } }

令牌估计(近似值):

  • 每个汉字≈1.3个符号
  • 英文字母≈每个0.3个标记
  • 其他符号≈每个0.6个代币

驱逐政策:

  • 添加新条目后,服务器计算估计的令牌总使用量。
  • 如果总数超过1000个令牌,它会逐一删除最旧的条目(FIFO),直到总数≤1000。

返回值:

  • 成功后,该工具返回一条JSON文本消息,其中包含 success: true 以及简短的总结。

许可证

麻省理工学院