Google Drive与Sheets集成服务器

一个MCP服务器,使AI助手能够与Google Drive和Google Sheets交互,支持文件搜索、文档读取和电子表格更新。

  • by Dot-Fun
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dot-fun/mcp-gdrive

使用说明

用于Google Drive和Google表格集成的MCP服务器

一个MCP(模型上下文协议)服务器,使人工智能助手能够与谷歌云端硬盘和谷歌表格进行交互。通过兼容MCP的客户端(如Claude Desktop)搜索文件、阅读文档和更新电子表格。

基于 isaacphi/mcp gdrive,其中包括最初由Anthropic、PBC开发的代码 此回购,根据麻省理工学院许可证获得许可。

特性

  • 读取和搜索Google Drive文件
  • 将Google文档导出为Markdown,将表格导出为CSV
  • 更新Google表格单元格
  • OAuth 2.0身份验证流程
  • 支持所有Google Drive文件类型

MCP工具可用

  • gdrive_search

    • 描述:在Google Drive中搜索文件。
    • 输入:
      • query (string):搜索查询。
      • pageToken (字符串,可选):下一页结果的标记。
      • pageSize (数字,可选):每页结果数(最多100个)。
    • 输出:返回匹配文件的文件名和MIME类型。
  • gdrive_read_file

    • 描述:从Google云端硬盘读取文件内容。
    • 输入:
      • fileId (string):要读取的文件的ID。
    • 输出:返回指定文件的内容。
  • gdrive_deauthenticate

    • 描述:删除Google Drive身份验证凭据并取消服务器身份验证。
    • 输入:无需。
    • 输出:确认消息。注意:使用此工具后,您必须重新启动MCP客户端以重新进行身份验证。
  • gsheets_read

    • 描述:从谷歌电子表格中读取数据,范围和格式选项灵活。
    • 输入:
      • spreadsheetId (string):要读取的电子表格的ID。
      • ranges (字符串数组,可选):A1表示法范围的可选数组(例如。, ['Sheet1!A1:B10']).如果没有提供,请读取整张表。
      • sheetId (数字,可选):要读取的特定纸张ID。如果没有提供范围,则读取第一页。
    • 输出:从电子表格中返回指定的数据。
  • gsheets_update_cell

    • 描述:更新Google电子表格中的单元格值。
    • 输入:
      • fileId (string):电子表格的ID。
      • range (string):A1表示法中的单元格范围(例如。, 'Sheet1!A1').
      • value (string):新单元格值。
    • 输出:确认指定单元格中的更新值。

MCP资源

服务器通过以下方式提供对Google Drive文件的访问 gdrive:///<file_id> URI方案。

自动格式转换:

  • 谷歌文件→ 降价
  • 谷歌表格→ CSV
  • 谷歌演示文稿→ 纯文本
  • 谷歌绘图→ PNG
  • 其他文件→ 本机格式

安装和设置

先决条件

  • Node.js 18+
  • 谷歌云平台帐户
  • Claude Desktop或其他MCP兼容客户端

谷歌云配置

  1. 创建新的Google Cloud项目
  2. 启用Google Drive API
  3. 配置OAuth同意屏幕 (“内部”适合测试)
  4. 添加OAuth作用域 https://www.googleapis.com/auth/drive.readonly, https://www.googleapis.com/auth/spreadsheets
  5. 为了允许与工作表和文档进行交互,您还需要启用 谷歌网页API 和 谷歌文档API 在您的工作区启用API和服务部分。
  6. 创建OAuth客户端ID 适用于应用程序类型“桌面应用程序”
  7. 下载客户端OAuth密钥的JSON文件
  8. 从下载的文件中记录您的OAuth客户端ID和客户端密码

构建和配置

  1. 克隆此存储库:

    git clone https://github.com/Dot-Fun/mcp-gdrive.git
    cd mcp-gdrive
    
  2. 安装依赖项并构建:

    npm install
    npm run build
    
  3. 在中设置环境变量 .env:

    GDRIVE_CREDS_DIR=/path/to/store/credentials
    CLIENT_ID=your-client-id-here
    CLIENT_SECRET=your-client-secret-here
    

首次身份验证

运行身份验证流程:

node ./dist/index.js

这将:

  1. 打开浏览器以获得Google OAuth同意
  2. 将凭据保存到 GDRIVE_CREDS_DIR
  3. 启用MCP服务器以访问您的Google云端硬盘

Claude桌面配置

添加到您的Claude配置文件中:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "gdrive": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-gdrive/dist/index.js"],
      "env": {
        "CLIENT_ID": "<YOUR_CLIENT_ID>",
        "CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
        "GDRIVE_CREDS_DIR": "/path/to/store/auth/tokens"
      }
    }
  }
}

替换 /absolute/path/to/mcp-gdrive 使用您的实际安装路径。

故障排除

  • 身份验证失败:确保您的Google Cloud项目启用了Drive和Sheets API
  • MCP客户端无法连接:验证配置中的绝对路径
  • 权限错误:检查OAuth作用域是否包括 drive.readonly 和 spreadsheets

相关项目

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。


Built by DotFun - AI Integration Specialists