使用说明

项目简介

本项目是一个 MCP (Model Context Protocol) 服务器,它扩展了 LLM (大型语言模型) 应用的能力,使其能够安全、便捷地访问和操作用户的 Google Drive 和 Google Sheets 数据。通过此服务器,LLM 可以搜索 Google Drive 文件、读取文件内容、以及读写 Google Sheets 电子表格,从而实现更丰富和实用的应用场景。

主要功能点

  • 文件访问: 提供对 Google Drive 文件的读取能力,支持多种文件类型,包括 Google Workspace 原生格式(如 Docs, Sheets, Slides, Drawings)以及其他常见文件格式。Google Workspace 文件会被自动转换为通用格式,例如 Docs 转换为 Markdown,Sheets 转换为 CSV。
  • 电子表格操作: 支持读取和更新 Google Sheets 电子表格中的数据,可以灵活指定读取范围和单元格,方便 LLM 应用进行数据分析和处理。
  • 文件搜索: 允许 LLM 应用根据关键词在 Google Drive 中搜索文件,快速定位所需信息。
  • MCP 协议支持: 完全兼容 Model Context Protocol,可以通过标准的 JSON-RPC 协议与 MCP 客户端进行通信。
  • 安全认证: 使用 OAuth 2.0 进行身份验证,确保数据访问的安全性。
  • 易于集成: 提供详细的配置说明和示例,可以轻松集成到支持 MCP 协议的 LLM 客户端应用中。

安装步骤

  1. 创建 Google Cloud 项目: 访问 Google Cloud Console 创建一个新的 Google Cloud 项目。
  2. 启用 Google Drive API 和 Google Sheets API: 在 Google Cloud Console 中,访问 API 和服务,搜索并启用 "Google Drive API" 和 "Google Sheets API"。
  3. 配置 OAuth 同意屏幕: 访问 OAuth 同意屏幕,配置 OAuth 同意屏幕。对于测试目的,选择 "外部" 或 "内部" 均可。
  4. 添加 OAuth 作用域: 在 OAuth 同意屏幕配置中,添加以下 OAuth 作用域:
    • 'https://www.googleapis.com/auth/drive.readonly' (用于只读访问 Google Drive 文件)
    • 'https://www.googleapis.com/auth/spreadsheets' (用于访问 Google Sheets 电子表格)
  5. 创建 OAuth 客户端 ID: 访问 凭据,点击 "创建凭据",选择 "OAuth 客户端 ID"。应用程序类型选择 "桌面应用"。
  6. 下载 OAuth 密钥文件: 创建完成后,下载 JSON 格式的客户端密钥文件。
  7. 重命名密钥文件并放置到指定目录: 将下载的密钥文件重命名为 'gcp-oauth.keys.json',并将其放置到您希望配置的目录中。该目录路径将在后续配置服务器时使用,例如 '/Users/username/.config/mcp-gdrive'。
  8. 设置环境变量:
    • 'CLIENT_ID': 设置为您的 OAuth 客户端 ID。
    • 'CLIENT_SECRET': 设置为您的 OAuth 客户端密钥。
    • 'GDRIVE_CREDS_DIR': 设置为您在步骤 7 中放置 'gcp-oauth.keys.json' 文件的目录路径。
  9. 构建项目: 在项目根目录下,运行 'npm run build' 或 'npm run watch' 命令来构建服务器。

服务器配置

以下 JSON 配置信息可以添加到支持 MCP 协议的 LLM 客户端应用的服务器配置中,用于连接此 Google Drive & Sheets MCP 服务器。

{
  "mcpServers": {
    "gdrive": {
      "command": "npx",
      "args": [
        "-y",
        "@isaacphi/mcp-gdrive"
      ],
      "env": {
        "CLIENT_ID": "<请替换为您的 OAuth 客户端 ID>",
        "CLIENT_SECRET": "<请替换为您的 OAuth 客户端密钥>",
        "GDRIVE_CREDS_DIR": "<请替换为您的配置目录路径,例如 /Users/username/.config/mcp-gdrive>"
      }
    }
  }
}

配置参数说明:

  • 'server name': 'gdrive',服务器名称,客户端用以标识和调用。
  • 'command': 'npx',用于执行 npm 包的命令。
  • 'args': 启动服务器的参数,这里 '-y @isaacphi/mcp-gdrive' 表示执行全局安装的 '@isaacphi/mcp-gdrive' 包。
  • 'env': 环境变量配置,用于服务器运行时读取必要的配置信息:
    • 'CLIENT_ID': Google Cloud OAuth 客户端 ID,请替换为您的实际客户端 ID
    • 'CLIENT_SECRET': Google Cloud OAuth 客户端密钥,请替换为您的实际客户端密钥
    • 'GDRIVE_CREDS_DIR': Google Cloud OAuth 密钥文件 ('gcp-oauth.keys.json') 存放的目录路径,请替换为您在安装步骤中设置的目录路径

基本使用方法

  1. 启动 MCP 服务器:客户端根据上述配置启动 'gdrive' MCP 服务器。
  2. 客户端通过 MCP 协议与服务器通信,可以使用以下功能:
    • 列出 Google Drive 资源: 客户端可以发送 'ListResourcesRequest' 请求,服务器会返回 Google Drive 中的文件列表。资源 URI 以 'gdrive:///' 开头,例如 'gdrive:///file_id'。
    • 读取 Google Drive 文件: 客户端可以发送 'ReadResourceRequest' 请求,指定文件 URI ('gdrive:///file_id'),服务器会返回文件内容。
    • 调用工具: 客户端可以发送 'CallToolRequest' 请求来调用服务器提供的工具,例如:
      • 'gdrive_search': 搜索 Google Drive 文件。
      • 'gdrive_read_file': 读取 Google Drive 文件内容。
      • 'gsheets_read': 读取 Google Sheets 电子表格数据。
      • 'gsheets_update_cell': 更新 Google Sheets 电子表格单元格。

注意: 首次使用时,服务器会提示进行 OAuth 授权认证,需要在浏览器中完成 Google 账号登录和授权。

信息

分类

生产力应用