Muesli MCP 服务器(Model Context Protocol 实现)
使用说明(Markdown 格式)
-
项目简介
- Muesli 提供一个 MCP 服务器实现,允许 AI 助手(如 Claude、其他 LLM 客户端)通过 MCP 协议访问本地存放的 Granola 会议记录的资源、调用相关工具、并获取预设的 Prompt/分析能力。服务器通过 JSON-RPC 与客户端通信,支持多种传输介质(在代码中以 stdio 为默认传输实现)。
- 主要用例包括:列出转写文档、按文本或语义方式检索文档、按照文档ID获取完整转写、从 Granola 同步最新数据、以及对单文档进行摘要等。
-
主要功能点
- 资源与工具管理
- list_documents:列出所有会议转写的基本元数据
- search_documents:按文本或语义(如开启 embeddings)检索会议转写
- get_document:获取指定文档的完整转写内容
- sync_documents(需要具备相应特性):从 Granola API 同步最新转写与元数据,并可执行索引、向量嵌入等
- Prompt 支持
- 提供基于文档的分析提示模板,按需生成用于 LLM 进行结构化分析、比较、行动项提取等的 Prompt
- 摘要能力(可选)
- summarize_document:对指定转写进行摘要(调用外部 OpenAI 接口,需配置 OpenAI API key 或 Keychain)
- 资源与工具管理
-
安装步骤
- 构建时启用 MCP 特性
- 例如:将仓库编译为包含 MCP 功能的执行文件
- cargo build --release --features mcp
- 或直接通过 cargo install --path . --features mcp 以安装全功能版本
- 例如:将仓库编译为包含 MCP 功能的执行文件
- 运行服务器
- 以内置的 MCP 服务启动方式运行:运行命令 muesli mcp(需构建时开启 mcp 特性)
- 服务器将使用标准输入输出作为 MCP 通道(stdio)进行 JSON-RPC 通信
- 构建时启用 MCP 特性
-
服务器配置(客户端使用时应提供的 JSON 配置)
- MCP 客户端需要的配置信息(示例) { "server_name": "muesli-mcp", "command": "muesli", "args": ["mcp", "--data-dir", "/path/to/muesli-data"] } 说明:
- server_name:服务器对外标识名称,便于客户端区分
- command:启动服务器的可执行名,在本实现中为 muesli
- args:启动参数,包含子命令 mcp,以及数据目录等必要参数(data-dir)
- 该配置仅用于客户端定位与启动服务器进程;客户端本身不需要此仓库内部实现的代码,只需要能够启动对应的 MCP 服务进程即可
-
基本使用方法
- 构建并启动:cargo build --release --features mcp;然后执行 muesli mcp(或在打包后的二进制中直接运行)
- 客户端接入方式:按照 MCP 客户端的要求,将上述配置用于启动脚本,建立 JSON-RPC 通道
- 功能使用示例(客户端侧)
- 请求列出转写文档
- 请求对某个文档进行全文检索(文本或开启 embeddings 进行语义检索)
- 请求获取某文档的完整转写文本
- 请求同步最新数据(需要 Granola API token 等授权信息)
- 请求对文档进行自动摘要(需 OpenAI API Key 配置)
-
注意事项
- MCP 功能的编译依赖与运行时条件由特性开关控制,请确保在构建/部署环境中启用 mcp 特性
- Embeddings/Summaries 功能需要额外的依赖与外部模型(如 ONNX’embeddings、OpenAI API),请在开启相关特性前查看所需资源
- 服务器采用 stdio 传输,CLI 与客户端对接时需确保正确的标准输入/输出通道配置
-
参考与起步
- 仓库自带的 README 包含 MCP 的启动方式与使用场景说明,建议在开启 mcp 特性后按照 README 的 MCP 章节进行配置与启动