使用说明
项目简介
该项目 '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' 端点声明服务器的功能。
安装步骤
- 安装 Rust: 确保你的系统已安装 Rust 的最新稳定版本。你可以从 Rust官网 下载并安装。
- 安装 'mcp-google': 使用 Cargo 包管理器从 GitHub 安装 'mcp-google' 二进制文件。
安装成功后,'mcp-google' 命令将被添加到你的系统路径中。cargo install --git https://github.com/distrihub/mcp-google-workspace.git
服务器配置
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 项目):
- 创建 Google Cloud 项目: 访问 Google Cloud Console 创建或选择一个项目。
- 启用 Google Drive 和 Sheets API: 在项目中,搜索并启用 "Google Drive API" 和 "Google Sheets API"。
- 创建 OAuth 2.0 凭据:
- 在 "API 和服务" -> "凭据" 页面,点击 "创建凭据" -> "OAuth 客户端 ID"。
- 选择 "Web 应用" 作为应用类型,配置授权来源和重定向 URI(根据你的应用需求)。
- 创建完成后,你将获得客户端 ID 和客户端密钥。
- 获取 OAuth 访问令牌和刷新令牌: 你需要使用 OAuth 2.0 流程获取访问令牌和刷新令牌。可以使用 'mcp-google refresh' 命令来刷新令牌,或者使用 Google 提供的 OAuth 2.0 Playground 等工具进行手动获取。
基本使用方法
-
启动 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 客户端通信。
- 启动 Google Drive 服务器:
-
配置 MCP 客户端: 在你的 MCP 客户端(例如 Distri)中,配置连接到 'mcp-google-workspace' 服务器的代理配置,使用上面提供的 YAML 示例,并确保环境变量配置正确。
-
使用 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' 文件中的工具定义。
信息
分类
生产力应用