# 谷歌驱动文件管理
## 基本信息
- Slug: `isaacphi-mcp-gdrive`
- Source: modelscope
- Publisher: @isaacphi/mcp-gdrive
- Categories: cloud-storage / file-systems
- Hosted: No
- License: MIT License
- Source URL: https://www.modelscope.cn/mcp/servers/@isaacphi/mcp-gdrive
## 简介
与Google Drive集成，以实现文件的列出、搜索和读取，以及对Google Sheets的读写操作。
## 安装提示

```bash
GDRIVE_CREDS_DIR=/path/to/config/directory CLIENT_ID=<CLIENT_ID> CLIENT_SECRET=<CLIENT_SECRET> ``` 确保使用 `npm run build` 或 `npm run watch` 构建服务器。 ### 认证 接下来，您需要运行 `node ./dist/index.js` 来触发认证步骤。 系统会提示您使用浏览器进行认证。您必须使用与您的 Google Cloud 项目相同的组织中的帐户进行认证。 您的 OAuth 令牌将保存在由 `GDRIVE_CREDS_DIR` 环境变量指定的目录中。 ![认证提示](https://i.imgur.com/TbyV6Yq.png) ### 与桌面应用程序集成 要将此服务器与桌面应用程序集成，请向应用程序的服务器配置添加以下内容：
```

## MCP Server 详情

# Google Drive 服务器

此 MCP 服务器与 Google Drive 集成，允许列出、读取和搜索文件，以及读写 Google Sheets 的能力。

该项目包括由 Anthropic, PBC 开发的原始代码，根据 MIT 许可证从 [这个仓库](https://github.com/modelcontextprotocol/servers/tree/main/src/gdrive) 获得许可。

## 组件

### 工具

- **gdrive_search**

  - **描述**: 在 Google Drive 中搜索文件。
  - **输入**:
    - `query` (字符串): 搜索查询。
    - `pageToken` (字符串, 可选): 下一页结果的令牌。
    - `pageSize` (数字, 可选): 每页的结果数量（最大100）。
  - **输出**: 返回匹配文件的文件名和 MIME 类型。

- **gdrive_read_file**

  - **描述**: 从 Google Drive 读取文件内容。
  - **输入**:
    - `fileId` (字符串): 要读取的文件ID。
  - **输出**: 返回指定文件的内容。

- **gsheets_read**

  - **描述**: 以灵活的范围和格式选项从 Google Spreadsheet 读取数据。
  - **输入**:
    - `spreadsheetId` (字符串): 要读取的电子表格ID。
    - `ranges` (字符串数组, 可选): A1 标记范围的可选数组（例如，`['Sheet1!A1:B10']`）。如果未提供，则读取整个工作表。
    - `sheetId` (数字, 可选): 要读取的具体工作表ID。如果没有与 ranges 一起提供，则读取第一个工作表。
  - **输出**: 返回来自电子表格的指定数据。

- **gsheets_update_cell**
  - **描述**: 更新 Google Spreadsheet 中单元格的值。
  - **输入**:
    - `fileId` (字符串): 电子表格ID。
    - `range` (字符串): 单元格范围的 A1 标记（例如，`'Sheet1!A1'`）。
    - `value` (字符串): 新单元格值。
  - **输出**: 确认在指定单元格中更新的值。

### 资源

服务器提供了对 Google Drive 文件的访问：

- **文件** (`gdrive:///<file_id>`)
  - 支持所有文件类型
  - Google Workspace 文件将自动导出：
    - 文档 → Markdown
    - 表格 → CSV
    - 演示文稿 → 纯文本
    - 图画 → PNG
  - 其他文件以其原生格式提供

## 快速开始

1. [创建一个新的 Google Cloud 项目](https://console.cloud.google.com/projectcreate)
2. [启用 Google Drive API](https://console.cloud.google.com/workspace-api/products)
3. [配置 OAuth 同意屏幕](https://console.cloud.google.com/apis/credentials/consent)（测试时选择“内部”即可）
4. 添加 OAuth 范围 `https://www.googleapis.com/auth/drive.readonly`, `https://www.googleapis.com/auth/spreadsheets`
5. 为了能够与表格和文档交互，您还需要在您的工作区启用的 API 和服务部分中启用 [Google Sheets API](https://console.cloud.google.com/apis/api/sheets.googleapis.com/) 和 [Google Docs API](https://console.cloud.google.com/marketplace/product/google/docs.googleapis.com)。
6. [为应用类型“桌面应用程序”创建 OAuth 客户端 ID](https://console.cloud.google.com/apis/credentials/oauthclient)
7. 下载客户端的 OAuth 密钥 JSON 文件
8. 将密钥文件重命名为 `gcp-oauth.keys.json` 并放置到通过 `GDRIVE_CREDS_DIR` 指定的路径下（例如 `/Users/username/.config/mcp-gdrive`）
9. 记录您的 OAuth 客户端 ID 和客户端密钥。它们必须作为环境变量连同您的配置目录一起提供。
10. 您还需要在项目内设置一个 .env 文件，并包含以下字段。您可以在 Google Cloud 控制台的凭据部分找到客户端 ID 和客户端密钥。

```
GDRIVE_CREDS_DIR=/path/to/config/directory
CLIENT_ID=<CLIENT_ID>
CLIENT_SECRET=<CLIENT_SECRET>
```


确保使用 `npm run build` 或 `npm run watch` 构建服务器。

### 认证

接下来，您需要运行 `node ./dist/index.js` 来触发认证步骤。

系统会提示您使用浏览器进行认证。您必须使用与您的 Google Cloud 项目相同的组织中的帐户进行认证。

您的 OAuth 令牌将保存在由 `GDRIVE_CREDS_DIR` 环境变量指定的目录中。

![认证提示](https://i.imgur.com/TbyV6Yq.png)

### 与桌面应用程序集成

要将此服务器与桌面应用程序集成，请向应用程序的服务器配置添加以下内容：

```json
{
  "mcpServers": {
    "gdrive": {
      "command": "npx",
      "args": ["-y", "@isaacphi/mcp-gdrive"],
      "env": {
        "CLIENT_ID": "<CLIENT_ID>",
        "CLIENT_SECRET": "<CLIENT_SECRET>",
        "GDRIVE_CREDS_DIR": "/path/to/config/directory"
      }
    }
  }
}
```


## 许可证

此 MCP 服务器根据 MIT 许可证授权。这意味着您可以自由地使用、修改和分发该软件，但需遵守 MIT 许可证的条款和条件。更多详情，请参阅项目仓库中的 LICENSE 文件。

