Google Drive API服务器

一个用Go编写的Google Drive API服务器,提供文件列表、搜索、获取等功能,适用于需要与Google Drive集成的开发场景。

  • by ghchinoy
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ghchinoy/mcp-google-drive

使用说明

Google Drive MCP服务器

这是Google Drive API的MCP服务器,用Go编写。

先决条件

  • 转到1.24或更高版本
  • 启用了Drive API的Google云平台项目

设置

  1. 安装依赖项:

    go mod tidy
    
  2. 创建一个 credentials.json 文件:

    • 转到 谷歌云控制台.
    • 创建新项目或选择现有项目。
    • 启用Google Drive API。
    • 为“桌面应用程序”创建OAuth 2.0客户端ID。
    • 下载JSON文件并将其另存为 credentials.json 在 mcp-google-drive 目录。

运行服务器

服务器可以在两种模式下运行:STDIO和HTTP。

凭证

通往 credentials.json 文件可以按优先级顺序以三种方式提供:

  1. --credentials 标志:

    go run . --credentials /path/to/your/credentials.json
    
  2. MCP_DRIVE_CREDENTIALS 环境变量:

    export MCP_DRIVE_CREDENTIALS=/path/to/your/credentials.json
    go run .
    
  3. 默认路径: 如果既没有设置标志也没有设置环境变量,服务器将查找 credentials.json 在当前目录中。

STDIO模式(默认)

此模式对于本地开发和测试非常有用。

go run .

HTTP模式

此模式通过HTTP公开服务器。

go run . --transport http

服务器将在以下时间可用 http://localhost:8080/mcp.

认证

第一次运行服务器时,它会自动打开您的网络浏览器,进入谷歌同意页面。授予访问权限后,服务器将自动接收授权令牌并将其保存在 token.json 文件。此文件将用于将来的所有请求。

用法

通过身份验证后,您可以使用以下工具:

  • listFiles:列出Google Drive中的前10个文件。
  • getFile:检索特定文件的元数据。使用 fullContent 参数,用于检索Google文档、工作表或演示文稿的完整内容。
  • searchFiles:在Google Drive中搜索文件。您可以按标题(默认)或按内容搜索。要按内容搜索,请使用 searchIn 带值的参数 content.
  • getSheet:检索整个Google工作表。
  • getSheetRange:从Google工作表中检索特定范围的行或列。
  • getVersion:返回MCP Drive服务器的版本。

命令行测试

要验证服务器是否正常工作,而无需与MCP服务器交互,您可以使用以下标志:

  • --test-auth:如果发生以下情况,此标志将启动身份验证流 token.json 文件不存在。如果a token.json 如果文件存在,它将验证令牌是否仍然有效。
  • --test-list:此标志将列出您的Google Drive中的前10个文件到控制台。
  • --test-get-sheet <spreadsheetId>:此标志将检索指定的Google表格。
  • --test-get-sheet-range <spreadsheetId> <range>:此标志将从指定的Google表格中检索指定的范围。

这些标志对于命令行创建 token.json 文件(如果需要),并用于测试文件列表,以验证服务器在没有MCP的情况下是否正常工作。

免责声明

这不是谷歌的官方项目。