agent-memory MCP 服务端

使用说明(Markdown 格式)

  • 项目简介

    • 这是一个基于 MCP(Model Context Protocol)的服务器端实现,结合 agent-memory 的本地存储能力,向 LLM 客户端提供记忆资源的托管、工具注册与执行能力,以及与源数据相关的操作接口。核心功能包括:记忆的增删改查、标签与统计信息、基于向量嵌入的检索、以及对本地数据源(SQLite)及嵌入模型的管理。
  • 主要功能点

    • 记忆管理工具:memory_add、memory_get、memory_update、memory_delete、memory_list、memory_search、memory_tags、memory_stats
    • 数据源与嵌入:本地 SQLite 存储、向量嵌入(可选的 Transformer 基于模型)、基于 FTS 的文本检索与向量检索的混合检索
    • 工具注册与执行:memory、search、source、config 等多类工具,允许 LLM 客户端通过 MCP 调用外部功能
    • 服务器端与客户端的对接:通过 MCP 标准的 JSON-RPC 请求/响应进行通信,支持多种传输通道(包括 StdIO、SSE、WebSocket 等)
    • 会话与配置:对全局与来源级配置进行管理和查询
  • 安装步骤

    • 将仓库克隆到本地
    • 安装依赖并构建(在根项目中,使用 bun/npm/yarn 等工具执行构建流程,确保所有包的依赖就绪)
    • 编译打包 MCP 服务器(生成可执行的 dist/index.js 或等效入口文件)
  • 服务器配置(MCP 客户端使用,不需要额外的客户端代码)

    • MCP 客户端要连接到服务器时,需按照如下配置在配置文件中指定服务器信息(以 JSON 格式呈现,包含服务器名称、启动命令与参数):
    • 说明:
      • serverName/server: 使用的服务器名称,与服务器端命名一致,例如 agent-memory
      • command: 启动服务器的命令,通常为 node
      • args: 启动命令的参数,指向编译产物的入口文件,例如 dist/index.js
    • 参考示例(文本描述,不直接复制代码):
      • server: "agent-memory"
      • command: "node"
      • args: ["packages/mcp/dist/index.js"]
    • 注:MCP 客户端不需要包含此配置的实现代码,仅在客户端配置阶段使用该信息建立连接。
  • 基本使用方法

    • 启动服务器:在打包输出所在目录执行“node dist/index.js”(或等效入口),服务器将通过标准输入/输出(StdIO)或已配置的传输方式对外提供 MCP 服务
    • 客户端连接:使用 MCP 客户端通过 JSON-RPC 与服务器通信,执行内存管理、工具调用等操作
    • 常见操作流程包括:查询 memory_list、memory_search、memory_add、memory_get、memory_update、memory_delete,以及 source_list、source_run、config_set、config_get 等工具的调用
  • 额外信息

    • 服务器实现以 SqliteSource 作为本地存储,默认实验环境下会在内存数据库中进行测试,实际部署可切换为持久化数据库
    • 支持嵌入模型(向量嵌入)并在需要时对内存条目进行向量化以实现向量检索

服务器信息