MsgVault MCP 服务器
- 项目简介
- MsgVault 提供一个 MCP 服务器,让 AI 助手能够查询、分析并读取本地离线邮箱存档中的资源,注册并调用工具,以及定义与渲染提示模板,服务端与客户端通过 JSON-RPC 进行通信。
- 主要功能点
- 资源与数据访问:后端通过本地数据库、Parquet/DuckDB 缓存等方式对存档数据进行查询和聚合,向 MCP 客户端暴露资源信息与数据能力。
- Tool(工具)注册与执行:通过 MCP 服务器暴露可调用的工具,允许 LLM 客户端在对话中触发对存档的外部功能调用。
- Prompt 与交互模板:支持定义和渲染用于 LLM 交互的提示模板,便于不同交互模式的上下文生成。
- 会话管理与能力声明:服务器端对会话进行管理,声明自身能力,处理跨会话的上下文需求。
- 多传输通道支持:实现以标准 MCP 规范为基础的 JSON-RPC 交互,且与项目中可能的 Stdio、SSE、WebSocket 等传输模式兼容,方便嵌入到不同的 AI 客户端。
- 安全与扩展性:通过本地化部署、可扩展的查询引擎和插件式的资源/工具模型,确保离线使用场景下的安全性与稳定性。
- 安装步骤
- 获取源码并安装依赖(Go 1.25+):从仓库克隆代码并在本地环境中准备开发环境。
- 构建与运行服务器:在仓库根目录执行构建命令后,使用 msgvault mcp 启动 MCP 服务器指令来启动服务。
- 运行后端与数据准备:确保本地 Gmail 数据已通过同步流程导入 MsgVault 数据库,且离线缓存(DuckDB/Parquet)就绪,以便 MCP 客户端能够高效查询与分析。
- 服务器配置(MCP 客户端准备的 JSON 配置) 请将以下 JSON 配置提供给 MCP 客户端,用于接入 MsgVault 的 MCP 服务器。该配置用于告知客户端如何启动并连接到服务器,服务器名称、启动命令与参数均在此描述中给出,方便 MCP 客户端在首次接入时进行配置。请仅以描述性信息形式呈现,避免代码块。 { "server_name": "msgvault", "command": "msgvault", "args": ["mcp"] // 说明:server_name 是 MCP 客户端识别的名称,command 为启动服务器的可执行名,args 为传递给可执行程序的参数数组。 } 注:MCP 客户端不需要在此处实现具体的服务器端逻辑,仅通过该配置知道如何启动并连接 MsgVault 的 MCP 服务。
- 基本使用方法
- 启动服务器:在本地终端执行消息Vault 的 MCP 启动命令 msgvault mcp,确保服务器进程在后台运行并准备就绪。
- 配置客户端连接:将上面的配置(server_name、command、args)提供给 Claude Desktop 或任意 MCP 客户端,使其能够通过 MCP 协议向 MsgVault 服务器发送请求。
- 进行交互:通过 MCP 客户端对资源读取、工具调用、Prompts 获取等能力发起请求,服务器按 MCP 协议响应 JSON-RPC,并在需要时发送通知。
- 会话与能力管理:服务端会管理会话、能力声明并支持可扩展的上下文上下文,以便 LLM 客户端在对话中获取所需的引用数据和外部功能。