AIVectorMemory MCP 服务器

使用说明(Markdown 格式):

AIVectorMemory MCP 服务器

简介

  • 这是一个基于 MCP(Model Context Protocol)的后端服务,专注于为 AI 助手提供跨会话记忆、数据访问、工具调用和 Prompt 渲染能力。服务器通过标准输入输出(stdio)与 MCP 客户端通信,接收 JSON-RPC 请求并返回 JSON-RPC 响应。

主要功能点

  • 资源与记忆管理:本地向量记忆库,支持记忆存储、检索、删除、摘要等操作,跨会话持久化。
  • 工具注册与调用:7 个 MCP 工具(remember、recall、forget、status、track、digest、auto_save)供 LLM 调用,实现记忆写入、检索、状态管理、问题跟踪、自动保存等能力。
  • 向量检索与嵌入:本地 ONNX 运行时嵌入模型与 SQLite/vectors 存储,支持语义检索与去重。
  • 会话管理与多项目隔离:以 project_dir 区分不同项目的记忆与状态,支持 user 作用域跨项目使用。
  • MCP 服务器能力:实现 initialize、tools/list、tools/call、notifications/initialized 等 MCP 基本方法,提供协议版本、能力与服务器信息返回。

安装步骤

  • 在本地环境准备好 Python 3.10+。
  • 安装依赖(如需要):pip install -U aivectormemory(仓库提供的实现可直接运行,无需额外依赖安装时会自动下载嵌入模型)。
  • 直接运行服务器(示例命令):
    • 直接运行服务器(当前项目目录作为工作目录):python -m aivectormemory
    • 也可按需要通过额外参数将项目根目录传入,使用 MCP 客户端连接并发送 JSON-RPC 请求。
  • 可选 Web 看板:通过运行 web 子命令启动看板,端口默认为 9080,浏览器访问 http://localhost:9080。

服务器配置(MCP 客户端连接所需信息,JSON 格式,注意仅作配置示例,客户端本身通常不需要这些信息) { "serverName": "aivectormemory", "command": "python", "args": ["-m", "aivectormemory"] } 注释

  • serverName:服务器名称,需唯一标识当前 MCP 服务实例,便于在多服务器场景下区分。
  • command/args:启动服务器的命令及参数。示例中使用 python -m aivectormemory 启动 MCP 服务器,默认通过 stdio 与 MCP 客户端通信。
  • 客户端侧通常只需知道服务器启动命令及参数,实际的 JSON-RPC 交互由 MCP 客户端与服务器协商。

基本使用方法

  • 启动 MCP 服务器后,MCP 客户端可通过 JSON-RPC 请求:
    • initialize:建立会话并返回 protocolVersion、capabilities、serverInfo。
    • tools/list:获取可用工具及其描述。
    • tools/call:执行具体工具(例如 remember、recall、status 等),传入所需参数。
    • 其他 MCP 请求按需实现(如 notifications/initialized 等事件)。服务器端会返回 JSON-RPC 的 result 或 error。
  • 通过 remember/recall 等工具实现跨会话记忆的增删查改、以及通过 auto_save 定期自动归档记忆。
  • 如需查看实时服务状态和内存数据,可结合提供的 Web 看板使用。

注意事项

  • MCP 服务器以标准输入输出进行通信,请确保客户端与服务器在同一进程/管道中正确对齐 JSON-RPC 消息。
  • 本实现支持多项目隔离(project_dir)并提供 user 跨项目作用域,确保记忆的作用域控制。
  • 运行前请确保本地环境具备 ONNX Runtime、向量索引及依赖的嵌入模型获取能力,或使用仓库提供的嵌入实现。

结论

  • 该仓库提供了完整可运行的 MCP 服务器实现,具备核心协议处理、工具注册/执行、资源与会话管理、以及多项目支持等功能,符合 MCP 服务器实现的要求。

服务器信息