Google Drive MCP 服务器

一个实现了模型上下文协议(MCP)的服务器,提供与Google Drive交互的工具和资源,允许程序化访问Google Drive功能,使其他MCP兼容代理或系统能够管理文件和文件夹。

  • by ankitpyc
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 ankitpyc/gdrive-mcp-server

使用说明

Google Drive MCP服务器☁️

该项目实现了一个模型上下文协议(MCP)服务器,该服务器提供了与Google Drive交互的工具和资源。它允许对Google Drive功能进行编程访问,使其他兼容MCP的代理或系统能够管理文件和文件夹。

目录

特点✨

服务器目前提供以下功能:

  • 文件和文件夹列表 📂: 列出指定Google Drive文件夹中的文件和文件夹,包括根目录。
  • 文件创建 📄: 在给定的Google Drive路径中创建具有指定内容的新文件。
  • DOCX文件创建 📝: 创建新的 .docx 在给定的Google Drive路径中具有指定内容的文件。
  • 文件夹建议 💡: 根据内容名称建议一个Google Drive文件夹。

项目结构🏗️

该项目遵循标准的Go项目布局:

  • cmd/server/:包含MCP服务器的主要应用程序入口点。
  • configs/:存储配置文件,如Google服务帐户凭据。
  • internal/:保留给不应由其他应用程序导入的私有应用程序和库代码。
  • pkg/driveapi/:包含用于与Google Drive API交互的可重用库代码。这包括客户端设置、文件操作、文件夹管理和建议逻辑。

安装说明🛠️

要设置和运行Google Drive MCP服务器,请执行以下步骤:

先决条件✅

  • Go(1.18或更高版本)
  • Docker或Podman(用于运行MCP服务器)
  • 启用Google Drive API的Google云项目
  • 使用Google Drive API进行身份验证的服务帐户密钥(JSON文件)

配置⚙️

  1. 启用Google Drive API:

    • 转到 谷歌云控制台.
    • 创建新项目或选择现有项目。
    • 导航到“API和服务”>“库”。
    • 搜索“Google Drive API”并启用它。
  2. 创建服务帐户:

    • 在Google Cloud控制台中,转到“API和服务”>“凭据”。
    • 单击“创建凭据”>“服务帐户”。
    • 按照以下步骤创建新的服务帐户。
    • 授予服务帐户适当的角色(例如“驱动器文件管理器”或“驱动器编辑器”)以访问Google Drive。
  3. 生成服务帐户密钥:

    • 创建服务帐户后,单击其电子邮件地址。
    • 转到“密钥”选项卡,单击“添加密钥”>“创建新密钥”。
    • 选择“JSON”作为密钥类型,然后单击“创建”。
    • 将下载一个JSON文件。将其重命名为 credentials.json 并将其放置在 configs/ 这个项目的目录。
  4. 与服务帐户共享Google Drive文件夹/文件:

    • 服务帐户需要明确访问它将与之交互的Google Drive文件夹/文件。使用服务帐户的电子邮件地址共享相关文件夹/文件(位于 credentials.json 文件)。

运行服务器🚀

  1. 构建Docker镜像:

    docker build -t gdrive-mcp-server .
    

    或

    podman build -t gdrive-mcp-server .
    
  2. 运行MCP服务器:

    docker run --rm -i -e GOOGLE_APPLICATION_CREDENTIALS=/app/configs/credentials.json -v $(pwd)/configs:/app/configs gdrive-mcp-server
    

    或

    podman run --rm -i -e GOOGLE_APPLICATION_CREDENTIALS=/app/configs/credentials.json -v $(pwd)/configs:/app/configs gdrive-mcp-server
    

    确保 $(pwd)/configs 正确指向包含您的 credentials.json 文件。

用法💡

服务器运行后,您可以使用兼容MCP的客户端与之交互。该服务器为Google Drive操作提供了各种工具。有关如何调用这些工具的详细信息,请参阅MCP客户端文档。

计划的功能🔮

  • 文件更新:更新Google Drive中的现有文件。
  • 文件删除:从Google云端硬盘删除文件。
  • 文件夹创建:在Google云端硬盘中创建新文件夹。
  • 文件搜索:基于各种标准(名称、类型、内容)的文件高级搜索功能。
  • 权限管理:管理文件和文件夹权限。
  • Webhooks/通知:与Google Drive更改通知集成。

贡献🤝

我们欢迎对Google Drive MCP服务器的贡献!如果您有建议、错误报告或想贡献代码,请在GitHub存储库上打开问题或提交拉取请求。

许可证📄

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。