使用说明

项目简介

本项目 'Google Drive MCP 服务器' 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 应用提供访问和操作 Google Drive 及 Google Sheets 数据的能力。通过此服务器,LLM 可以搜索 Google Drive 文件,读取文件内容,以及读取和更新 Google Sheets 表格数据,从而扩展 LLM 的上下文理解和功能范围。

主要功能点

  • 资源访问: 允许 LLM 通过 'gdrive:///<file_id>' 格式的 URI 访问 Google Drive 文件,支持多种文件类型,包括 Google 文档、表格、幻灯片等,并自动转换为 Markdown、CSV、纯文本或 PNG 等格式。
  • 工具 (Tools): 提供以下工具供 LLM 调用,扩展其功能:
    • gdrive_search: 在 Google Drive 中搜索文件,根据关键词查找文件,并支持分页浏览搜索结果。
    • gdrive_read_file: 读取 Google Drive 文件的内容,支持多种文件格式,包括文本、Markdown、CSV 等。
    • gsheets_read: 读取 Google Sheets 表格数据,可以指定读取范围和工作表,灵活获取表格信息。
    • gsheets_update_cell: 更新 Google Sheets 表格中的单元格数值。

安装步骤

  1. 创建 Google Cloud 项目: 访问 Google Cloud 控制台 创建一个新的 Google Cloud 项目。
  2. 启用 Google Drive API 和 Google Sheets API: 在 Google Cloud 控制台中,搜索并启用 "Google Drive API" 和 "Google Sheets API"。
  3. 配置 OAuth 同意屏幕: 访问 OAuth 同意屏幕配置,配置 OAuth 同意屏幕。对于测试目的,选择 "内部" 用户类型即可。
  4. 添加 OAuth 作用域: 在 OAuth 同意屏幕配置中,添加以下 OAuth 作用域,允许服务器访问 Google Drive 和 Google Sheets 的只读和读写权限:
    • 'https://www.googleapis.com/auth/drive.readonly'
    • 'https://www.googleapis.com/auth/spreadsheets'
  5. 创建 OAuth 客户端 ID: 访问 OAuth 客户端 ID 创建,为应用类型选择 "桌面应用" 创建 OAuth 客户端 ID。
  6. 下载 OAuth 密钥 JSON 文件: 下载创建的 OAuth 客户端的 JSON 密钥文件。
  7. 重命名密钥文件并放置到配置目录: 将下载的 JSON 密钥文件重命名为 'gcp-oauth.keys.json',并放置到您指定的配置目录下。配置目录路径需要通过环境变量 'GDRIVE_CREDS_DIR' 指定,例如 '/Users/username/.config/mcp-gdrive'。
  8. 记录 OAuth 客户端 ID 和客户端密钥: 记录您的 OAuth 客户端 ID 和客户端密钥,稍后需要将其配置为环境变量。
  9. 构建服务器: 在项目根目录下,运行 'npm run build' 或 'npm run watch' 命令构建服务器。

服务器配置

MCP 客户端需要配置以下 JSON 信息才能连接到 'Google Drive MCP 服务器'。请将以下配置添加到您的 MCP 客户端的服务器配置中。

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

配置参数说明:

  • 'server name': 'gdrive' (服务器名称,客户端用以识别和调用)
  • 'command': 'npx' (Node.js 包执行器,用于运行服务器)
  • 'args':
    • '-y': 'npx' 参数,自动确认安装包
    • '@rishipradeep-think41/drive-mcp': 服务器 npm 包名称
  • 'env': 环境变量配置
    • 'CLIENT_ID': 必填,您在 Google Cloud 控制台中创建的 OAuth 客户端 ID。
    • 'CLIENT_SECRET': 必填,您在 Google Cloud 控制台中创建的 OAuth 客户端密钥。
    • 'GDRIVE_CREDS_DIR': 必填,您放置 'gcp-oauth.keys.json' 文件的配置目录的绝对路径。

注意:

  • 请确保您已正确安装 Node.js 和 npm。
  • 首次运行服务器时,会在浏览器中打开 Google 身份验证页面,请使用与您的 Google Cloud 项目相同的 Google 账户进行身份验证。
  • OAuth 令牌将保存在 'GDRIVE_CREDS_DIR' 环境变量指定的目录下。

基本使用方法

  1. 启动 MCP 客户端并加载上述服务器配置。
  2. 客户端将自动连接到 'Google Drive MCP 服务器'。
  3. 在 LLM 应用中,您可以使用以下方式访问 Google Drive 和 Google Sheets 功能:
    • 访问 Google Drive 资源: 使用 'gdrive:///<file_id>' 格式的 URI 引用 Google Drive 文件,例如 'gdrive:///文件ID123'。
    • 调用工具: 使用客户端提供的工具调用机制,调用 'gdrive_search', 'gdrive_read_file', 'gsheets_read', 'gsheets_update_cell' 等工具,并根据工具的输入参数规范传递参数。

具体工具和资源的使用方法请参考 MCP 客户端的文档和相关 API 说明。

信息

分类

生产力应用