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 服务器实现的要求。