Google Drive文件管理服务

一个基于Model Context Protocol (MCP)的服务器,为AI系统提供标准化接口以访问和操作Google Drive中的文件。

  • by asadudin
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 asadudin/mcp-server-gdrive

使用说明

Google Drive MCP服务器

用于与Google Drive API交互的模型上下文协议(MCP)服务器。该服务器为AI系统访问和操作Google Drive中的文件提供了一个标准化的接口。

特性

  • 文件操作:列出、上传、下载和删除文件
  • 文件夹管理:创建文件夹并组织内容
  • 文件共享:与特定用户共享文件并管理权限
  • 分页支持:高效处理大文件列表
  • 全面的错误处理:详细的错误报告,便于调试

先决条件

  • Python 3.8+
  • 启用了Drive API的Google Cloud项目
  • 具有适当权限的服务帐户

设置

1.谷歌云设置

  1. 在Google Cloud Console中创建项目
  2. 启用Google Drive API
  3. 创建具有适当权限的服务帐户
  4. 下载服务帐户JSON密钥文件

2.本地设置

克隆存储库并安装依赖项:

# Clone the repository
git clone <repository-url>
cd mcp-server-gdrive

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Copy example environment file and edit with your settings
cp .env.example .env

编辑 .env 使用您的配置文件:

HOST=0.0.0.0
PORT=8055
GOOGLE_SERVICE_ACCOUNT_FILE=your-service-account-file.json

3.Docker设置

或者,你可以使用Docker:

# Build and run with Docker Compose
docker-compose up --build

运行服务器

本地执行

python main.py --transport sse

Docker执行

docker-compose up

MCP工具

此服务器提供以下MCP工具:

文件操作

  • list_files:列出Google Drive中支持分页的文件
  • get_file_info:获取特定文件的详细信息
  • upload_file:将文件上传到Google Drive
  • download_file:从Google云端硬盘下载文件

文件夹操作

  • create_folder:在Google Drive中创建新文件夹

共享和权限

  • share_file:与其他用户共享文件或文件夹

调试

  • debug_api_connection:调试Google Drive API连接

客户端配置

要从客户端连接到此MCP服务器,请执行以下操作:

{
  "gdrive": {
    "transport": "sse",
    "serverUrl": "http://localhost:8055/sse"
  }
}

注意:确保包括 /sse 在SSE传输的URL末尾。

安全考虑

  • 服务帐户JSON文件包含敏感凭据。永远不要将其提交给版本控制。
  • 对所有敏感配置使用环境变量。
  • 如果公开部署,请考虑实施额外的身份验证。

许可证

MIT许可证

贡献

欢迎投稿!请随时提交拉取请求。