MemoV MCP Server
使用说明(Markdown格式)
-
项目简介
- MemoV MCP 服务器实现了基于 Model Context Protocol (MCP) 的后端服务,用于为 AI 编码代理提供上下文、工具和 Prompts 的标准化访问接口。服务器通过 JSON-RPC 与客户端通信,支持标准的资源与工具管理、提示模板渲染等能力。
-
主要功能点
- 资源管理与数据访问:以 Memov 作为示例,提供对版本化代码、变更历史、快照等资源的管理能力。
- 工具注册与执行:通过 MCP Tool 装饰器注册多种对外功能,例如记录快照、查看历史、UI 启动等,用于 LLM 调用外部功能。
- Prompts 与模板:提供对 Prompt 的存储、渲染与历史追踪能力,并在提交交互时自动记录。
- 透明的会话与能力声明:服务端维护会话状态、分支/跳转等上下文,以及对客户端能力的声明。
- 多传输协议支持:_stdio(适用于 Claude Desktop 等本地工具)与 http(通过 transport=streamable-http 等方式)两种传输模式。
- 集成向量数据库(RAG):在可选情况下,提供向量数据库的自动写入与检索功能,以实现语义搜索与调试辅助(需要 memov[rag] 支持)。
-
安装步骤
- 该仓库自带服务器实现及 launcher,推荐的运行路径是使用 MCP Launcher 通过 uvx/uv 启动 stdio 或 http 协议的服务器。请确保已安装 Python 环境及 uv/uvx(Astral uv 工具),以及 memov 及其依赖(如 CHROMADB 相关组件若启用 RAG 模式)。
- 运行环境简要:
- Python 版本兼容性:Python 3.10+
- 启用/禁用 RAG:安装 memov[rag] 以获得 CHROMADB 等依赖
- 对外接口:stdio(直接与本地 AI 客户端对接)或 http(通过 Web 接入)
-
服务器配置(JSON 格式,供 MCP 客户端使用) 说明:以下配置用于 MCP 客户端连接到 MemoV 的 MCP 服务器。server_name 为服务器标识,command 与 args 指定启动服务器的命令及参数。MCP 客户端需要的仅是该配置信息中的 server name、command 和 args(不需要额外开发代码)即可连接并通过 MCP 协议与服务器交互。
{ "server_name": "mem-mcp", "transport": "stdio", "command": "uv", "args": [ "run", "mem-mcp-launcher", "stdio", "${workspaceFolder}" ], "description": "通过 stdio 启动 MemoV MCP 服务器,适用于 Claude Code / Codex 这类本地代理客户端。" }
说明:
- 若使用 HTTP 传输,请将 transport 修改为 "http",并将 args 替换为: [ "run", "mem-mcp-launcher", "http", "<workspace路径>", "--port", "端口号", "--host", "绑定地址" ]
- 实际启动示例在 README 与脚本中有详细说明,请按项目提供的 launcher 与 Veil/uv 的组合使用。
-
基本使用方法
- 启动方式:通过 MCP Launcher 与 uv/uvx 组合,在本地工作区路径下启动 mem-mcp-launcher 服务(stdio 或 http)。
- 客户端交互:客户端向 MCP 服务器发送 JSON-RPC 请求,服务器返回 JSON-RPC 响应。客户端可通过内置工具(snap/history/ui 等)完成交互记录、历史查询、以及对 Prompts/Agent Plans 的获取与渲染。
- 安全与扩展:服务端实现了会话与能力声明,支持多种传输协议,并在可选情况下与向量数据库进行自动同步,便于语义搜索和调试。
-
基本使用示例(仿真步骤)
- 在项目根目录启动 MCP 服务器(stdio 模式): uv run mem-mcp-launcher stdio <工作区路径>
- 客户端连接并通过 MCP JSON-RPC 方式发起请求,例如请求快照、获取历史、执行工具等。
- 如需 Web UI,确保 mem UI 服务可通过 HTTP 启动并访问相应端口。
-
备注
- 该实现包含完整的服务器端逻辑、工具、历史/跳转/图谱等功能,并提供对向量数据库的可选集成。
- 对于未配置向量数据库时,RAG 功能将以降级模式存在(无向量检索能力)。