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 服务启动方式运行:运行命令 muesli mcp(需构建时开启 mcp 特性)
      • 服务器将使用标准输入输出作为 MCP 通道(stdio)进行 JSON-RPC 通信
  • 服务器配置(客户端使用时应提供的 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 章节进行配置与启动

服务器信息