Google Drive访问服务器

一个无服务器的MCP服务器,通过OAuth2认证提供完整的Google Drive访问功能,适用于个人和团队的多租户部署。

  • by duquesnay
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 duquesnay/gdrive-full-access-mcp

使用说明

Google Drive完全访问MCP服务器

无服务器MCP(模型上下文协议)服务器,通过OAuth2身份验证提供完整的Google Drive访问权限,专为部署在Scaleway Functions上而设计。

概述

该项目扩展了 fly_agile_gdrive_mcp 本地服务器提供:

  • OAuth2身份验证:个人谷歌帐户访问权限(非服务帐户)
  • 无服务器部署:针对Scaleway功能进行了优化
  • 多租户支持:为不同的帐户/文件夹部署多个实例
  • HTTP传输:兼容网络客户端(Claude Chat、iOS应用程序等)
  • 完全驱动器访问:对用户的整个驱动器或特定文件夹的读/写访问权限

与本地版本的主要区别

功能 本地MCP(fly_agile) 无服务器MCP(this)
身份验证 服务帐户 OAuth2(个人)
传输 Stdio(仅限本地) HTTP/REST API
部署 本地进程 Scaleway函数
多租户 单实例 多部署
客户端支持 仅限Claude Desktop Web、移动、任何HTTP客户端

计划的功能

核心功能(来自fly_agile_gdrive_mcp v1.0.0)

本地版本的所有功能都将可用:

读取操作

  • ✅ 列出具有过滤和分页功能的文件
  • ✅ 使用Google Drive查询语法搜索文件
  • ✅ 通过自动格式转换读取文件内容
  • ✅ 获取详细的文件元数据

写入操作(第1阶段)

  • ✅ 创建新文件(文档、表格、幻灯片)
  • ✅ 从URL或base64数据上传文件
  • ✅ 更新现有文件内容(仅限文本文件)
  • ✅ 在文件夹之间移动文件
  • ✅ 重新命名
  • ✅ 创建新文件夹

新的无服务器功能

身份验证和安全

  • 带有刷新令牌管理的OAuth2流
  • 安全令牌存储(Scaleway机密管理器)
  • 每个用户的身份验证和隔离
  • 可选文件夹范围的访问限制
  • 客户端应用程序的API密钥身份验证

无服务器优化

  • 无状态请求处理
  • 高效冷启动优化
  • 使用Scaleway自动缩放
  • 请求/响应缓存
  • 每个用户的速率限制

多租户架构

  • 部署具有不同配置的多个实例
  • 支持多个Google帐户
  • 文件夹级访问隔离
  • 每次部署的自定义域支持

部署架构

┌─────────────┐     ┌──────────────┐     ┌─────────────────┐
│   Claude    │────▶│  Scaleway    │────▶│  Google Drive   │
│  Clients    │ HTTP│  Functions   │OAuth│      API        │
└─────────────┘     └──────────────┘     └─────────────────┘
                           │
                    ┌──────▼───────┐
                    │   Secrets    │
                    │   Manager    │
                    └──────────────┘

用例

个人驱动器访问

为您的个人Google帐户部署,让Claude访问您的文档:

  • 研究论文和笔记
  • 项目文件
  • 个人知识库

团队文件夹

在文件夹限制下按团队/项目部署:

  • 营销团队实例→ 仅限营销文件夹
  • 工程文档实例→ 仅限技术规格文件夹
  • 财务实例→ 仅限财务报告文件夹

多账户支持

为不同的Google帐户部署单独的实例:

  • 个人Gmail帐户
  • 工作谷歌工作区帐户
  • 客户特定账户

配置

每个部署都可以配置:

# scaleway-function-config.yaml
environment:
  ALLOWED_FOLDERS: "folder_id1,folder_id2"  # Optional: restrict access
  OAUTH_CLIENT_ID: "from_google_console"
  OAUTH_CLIENT_SECRET: "@secret:oauth_secret"
  ALLOWED_ORIGINS: "https://claude.ai,https://claude-chat.example.com"
  RATE_LIMIT: "100"  # requests per minute per user

安全考虑

  • OAuth2令牌安全地存储在Scaleway密钥管理器中
  • 代码或环境变量中没有凭据
  • 限制每用户费率以防止滥用
  • 可选IP分配
  • 所有操作的审核日志记录
  • 自动令牌刷新处理

发展路线图

第一阶段:核心迁移

  • []从fly_agile_gdrive_mcp中适配核心逻辑
  • []实现OAuth2流
  • []创建HTTP端点处理程序
  • []添加Scaleway部署配置

第二阶段:多租户功能

  • []用户隔离和会话管理
  • []文件夹范围的访问限制
  • []每个部署配置
  • []自定义域支持

第三阶段:高级功能

  • []实现缓存层
  • []添加批处理操作支持
  • []WebSocket支持实时更新
  • []从第2阶段待办事项列表中高级搜索

许可证

麻省理工学院

致谢

基于 fly_agile_gdrive_mcp -本地MCP服务器实现。