Mnemo MCP Server

使用说明(Markdown 格式)

  • 项目简介

    • Mnemo MCP Server 是一个完整的 MCP 服务器实现,核心职责包括:管理并提供资源数据供客户端访问、注册和执行 Tools(如 memory、config、help 等),以及定义和渲染 Prompts,用于与大模型进行更丰富的上下文交互。服务器通过 JSON-RPC 风格的 MCP 协议与客户端通信,支持会话管理、能力声明,以及多种传输形式(如 StdIn/StdOut、SSE、WebSocket 等)。后端通过 SQLite 数据库存储记忆,同时可选使用 sqlite-vec 提供向量检索能力,并集成 LiteLLM(云端嵌入)或本地 Qwen3 Embedding 进行向量化检索。跨机器同步通过 rclone 实现,支持 Google Drive、S3 等远端存储。
  • 主要功能点

    • 记忆管理(Memory 工具):增、读、更新、删除、导出、导入、统计等,支持分类、标签、来源等元数据,含内容长度保护。
    • 配置管理(Config 工具):状态查询、开启/执行同步、设置参数等。
    • 帮助与文档(Help 工具):提供内置文档与主题切换。
    • 资源与 prompts:提供统计与最近记忆等资源,定义保存摘要、召回上下文等提示模板。
    • MCP 服务端核心:使用 FastMCP 实现,纯服务端实现,包含 lifespan 管理、会话上下文、Embedding 后端异步初始化及背景加载。
    • Embedding 后端:双边端支持(LiteLLM 云端嵌入与本地 Qwen3 Embedding),具备自动探测、错误处理和重试逻辑。
    • 向量检索 vs 文字检索混合打分:FTS5 作为基础全文检索,若开启向量检索则进行向量距离拼接,结合最近更新时间与访问频率进行综合评分。
    • 跨机器同步:使用 rclone 进行远端存储的 Push/Pull/合并,提供下载、校验和 TOKEN 处理等完整流程。
  • 安装步骤

    • 先搭建运行环境(Python 3.x,建议使用虚拟环境)。
    • 获取源码并安装依赖(仓库提供的运行与测试流程可参考 README 与测试用例)。
    • 启动服务,推荐使用 uvx 或 Docker 方式进行部署(具体使用见 Quick Start)。
    • 如需本地向量检索,请确保具备 CPU/GPU 环境并满足 qwen3-embed 安装条件。
  • 服务器配置(MCP 客户端必须配置的启动信息)

    • MCP 客户端连接 Mnemo MCP Server 时需要提供服务器的启动配置(命令和参数等信息),以便通过 MCP 协议启动并连接到服务。以下为基于仓库信息的示例配置(为 MCP 客户端使用说明而设,不是服务器源码的一部分):
    • 服务器名称:mnemo
    • 启动命令(command):uvx
    • 启动参数(args):["mnemo-mcp@latest"]
    • 环境变量(env,可选项,具体以实际部署为准):
      • API_KEYS: Google、Gemini、OpenAI 等密钥对,如 "GOOGLE_API_KEY:xxxx,OPENAI_API_KEY:yyyy"
      • SYNC_ENABLED: "true"(启用跨机同步)
      • SYNC_REMOTE: "gdrive"(远端名称)
      • RCLONE_CONFIG_GDRIVE_TYPE: "drive"
      • RCLONE_CONFIG_GDRIVE_TOKEN: "<base64 token>"(从 setup-sync 输出获取的 token)

    说明:以上信息用于 MCP 客户端在客户端侧调度和连接 Mnemo MCP Server,服务器端的实现(代码)会在启动时根据配置进行自检与初始化。MCP 客户端本身无需嵌入服务器源码,只需要知道服务器的启动命令与参数即可建立连接。

  • 基本使用方法

    • 启动服务器:通过 uvx mnemo-mcp@latest 或等效的容器/脚本来启动服务器。
    • 客户端对接:在 MCP 客户端的配置中指定 server 名称、command、args 等信息,按 MCP 协议向 Mnemo MCP Server 发送请求(如 memory.add、memory.search、config.status、help.topic 等),服务器返回标准的 JSON-RPC 风格响应。
    • 访问接口与功能点:记忆管理、配置与同步、帮助文档、资源与 Prompts 等均可通过 MCP 客户端访问;在启动阶段,后台会并行初始化 Embedding 后端,允许后续查询逐步开启语义检索能力。
    • 运行环境可选项:嵌入式本地向量检索(sqlite-vec)、云端 Embedding(LiteLLM)或本地嵌入(Qwen3),以及 rclone 跨机器同步。
  • 备注

    • 服务器实现包含详细的单元测试,覆盖 lifecyle、嵌入初始化、内存数据库操作、同步流程、安全边界及错误处理,确保实际运行时的鲁棒性。

服务器信息