使用说明

项目简介

该项目 'mcp-google-workspace' 提供了一个基于 Model Context Protocol (MCP) 的服务器实现,允许LLM客户端通过标准化的MCP协议与Google Workspace (Google Drive 和 Google Sheets) 进行交互。它充当LLM应用和Google Workspace API之间的桥梁,使得LLM可以安全、可扩展地利用Google云端存储和电子表格处理能力。

主要功能点

  • Google Drive 操作:
    • 列出和过滤Google Drive中的文件,支持按MIME类型、自定义查询、分页大小和排序方式过滤。
  • Google Sheets 操作:
    • 读取Google Sheets数据,可指定读取范围和维度(行或列)。
    • 写入数据到Google Sheets。
    • 创建新的Google Sheets电子表格,支持自定义标题和工作表。
    • 清除Google Sheets指定范围内的数据。
  • MCP 协议集成:
    • 实现了MCP协议,可以与任何兼容MCP协议的LLM客户端或代理框架(如 Distri)集成。
    • 将 Google Drive 和 Sheets 的功能暴露为 MCP 工具,例如 'list_files', 'read_values', 'write_values' 等。
    • 通过 'resources/list' 端点声明服务器的功能。

安装步骤

  1. 安装 Rust: 确保你的系统已安装 Rust 的最新稳定版本。你可以从 Rust官网 下载并安装。
  2. 安装 'mcp-google': 使用 Cargo 包管理器从 GitHub 安装 'mcp-google' 二进制文件。
    cargo install --git https://github.com/distrihub/mcp-google-workspace.git
    安装成功后,'mcp-google' 命令将被添加到你的系统路径中。

服务器配置

MCP服务器需要配置 Google Cloud 项目和 OAuth 2.0 凭据才能访问 Google Workspace API。对于 MCP 客户端,你需要配置启动 MCP 服务器的命令。以下是使用 Distri 客户端连接 'mcp-google-workspace' 服务器的配置示例(YAML 格式):

agents:
  google_workspace:
    drive:
      type: mcp
      command: ["mcp-google", "drive", "--access-token", "${GOOGLE_DRIVE_ACCESS_TOKEN}"] # 启动 Google Drive MCP 服务器的命令,需要提供 Google Drive 的访问令牌
    sheets:
      type: mcp
      command: ["mcp-google", "sheets", "--access-token", "${GOOGLE_SHEETS_ACCESS_TOKEN}"] # 启动 Google Sheets MCP 服务器的命令,需要提供 Google Sheets 的访问令牌

配置参数说明 (针对 'command' 数组):

  • 'mcp-google': 'mcp-google' 二进制文件的执行命令。
  • 'drive' 或 'sheets': 子命令,指定启动 Google Drive 或 Google Sheets 服务器。
  • '--access-token': 访问令牌参数,用于 Google API 的身份验证。需要替换为实际的 Google OAuth 访问令牌。

环境变量配置 (MCP 服务器运行环境): 在运行 'mcp-google' 服务器之前,需要设置以下环境变量:

  • 'GOOGLE_CLIENT_ID': 你的 Google OAuth 客户端 ID。
  • 'GOOGLE_CLIENT_SECRET': 你的 Google OAuth 客户端密钥。
  • 'GOOGLE_REFRESH_TOKEN': 你的 Google OAuth 刷新令牌。
  • 'GOOGLE_DRIVE_ACCESS_TOKEN' (或 'GOOGLE_SHEETS_ACCESS_TOKEN'): Google Drive 或 Google Sheets 的 OAuth 访问令牌,可以直接通过环境变量传递给 Distri 配置中的 '${GOOGLE_DRIVE_ACCESS_TOKEN}' 或 '${GOOGLE_SHEETS_ACCESS_TOKEN}'。也可以在运行 'mcp-google' 命令时直接通过命令行参数传递,如 'mcp-google drive --access-token <your-access-token>'。

OAuth 2.0 凭据配置步骤 (Google Cloud 项目):

  1. 创建 Google Cloud 项目: 访问 Google Cloud Console 创建或选择一个项目。
  2. 启用 Google Drive 和 Sheets API: 在项目中,搜索并启用 "Google Drive API" 和 "Google Sheets API"。
  3. 创建 OAuth 2.0 凭据:
    • 在 "API 和服务" -> "凭据" 页面,点击 "创建凭据" -> "OAuth 客户端 ID"。
    • 选择 "Web 应用" 作为应用类型,配置授权来源和重定向 URI(根据你的应用需求)。
    • 创建完成后,你将获得客户端 ID 和客户端密钥。
  4. 获取 OAuth 访问令牌和刷新令牌: 你需要使用 OAuth 2.0 流程获取访问令牌和刷新令牌。可以使用 'mcp-google refresh' 命令来刷新令牌,或者使用 Google 提供的 OAuth 2.0 Playground 等工具进行手动获取。

基本使用方法

  1. 启动 MCP 服务器: 根据你需要使用的 Google Workspace 服务,启动相应的 MCP 服务器。

    • 启动 Google Drive 服务器:
      mcp-google drive --access-token <your-drive-access-token>
    • 启动 Google Sheets 服务器:
      mcp-google sheets --access-token <your-sheets-access-token>

    服务器默认通过标准输入/输出 (stdio) 与 MCP 客户端通信。

  2. 配置 MCP 客户端: 在你的 MCP 客户端(例如 Distri)中,配置连接到 'mcp-google-workspace' 服务器的代理配置,使用上面提供的 YAML 示例,并确保环境变量配置正确。

  3. 使用 MCP 工具: 在你的 LLM 应用中,通过 MCP 客户端调用 'mcp-google-workspace' 服务器提供的工具,例如 'drive/list_files' 或 'sheets/read_values' 等,以实现与 Google Drive 和 Sheets 的交互。具体的工具名称和参数可以参考仓库的 'README.md' 文件和 'src/servers/drive.rs', 'src/servers/sheets.rs' 文件中的工具定义。

信息

分类

生产力应用