Google Drive文件管理服务器

一个强大的模型上下文协议(MCP)服务器,提供与Google Drive的无缝集成,允许AI模型搜索、列出和读取Google Drive中的文件。

  • by felores
  • JavaScript
  • 本地部署
  • 72 星标
  • 更新于
在 GitHub 查看 felores/gdrive-mcp-server

使用说明

Google Drive MCP服务器

一个强大的模型上下文协议(MCP)服务器,提供与Google Drive的无缝集成,允许AI模型从Google Drive搜索、列出和读取文件。

🚀 特性

工具

1. gdrive_search

使用强大的全文搜索功能在Google Drive中搜索文件。

  • 输入:
    {
      "query": "string (your search query)"
    }
    
  • 输出:包含以下内容的文件列表:
    • 文件名
    • MIME类型
    • 文件ID
    • 上次修改时间
    • 文件大小

2. gdrive_read_file

使用Google Drive文件ID直接读取文件内容。

  • 输入:
    {
      "file_id": "string (Google Drive file ID)"
    }
    
  • 输出:具有适当格式转换的文件内容

自动文件格式处理

服务器智能地处理不同的Google Workspace文件类型:

  • 📝 谷歌文件→ 降价
  • 📊 谷歌表格→ CSV
  • 📊 谷歌演示文稿→ 纯文本
  • 🎨 谷歌绘图→ PNG
  • 📄 文本/JSON文件→ UTF-8文本
  • 📦 其他文件→ Base64编码

🛠️ 入门指南

先决条件

  • Node.js(v16或更高版本)
  • npm或纱线
  • 谷歌云项目
  • Google工作区或个人Google帐户

详细的Google Cloud设置

  1. 创建谷歌云项目

    • 访问 谷歌云控制台
    • 点击“新建项目”
    • 输入项目名称(例如“MCP GDrive服务器”)
    • 点击“创建”
    • 等待项目创建并选择它
  2. 启用Google Drive API

    • 转到 API库
    • 搜索“Google Drive API”
    • 点击“Google Drive API”
    • 点击“启用”
    • 等待API启用
  3. 配置OAuth同意屏幕

    • 引导到 OAuth同意屏幕
    • 选择用户类型:
      • 如果您使用的是谷歌工作区,请选择“内部”
      • 个人Google帐户的“外部”
    • 点击“创建”
    • 填写必填字段:
      • 应用程序名称:“MCP GDrive服务器”
      • 用户支持电子邮件:您的电子邮件
      • 开发人员联系电子邮件:您的电子邮件
    • 点击“保存并继续”
    • 在“范围”页面上:
      • 点击“添加或删除范围”
      • 添加 https://www.googleapis.com/auth/drive.readonly
      • 点击“更新”
    • 点击“保存并继续”
    • 查看摘要并单击“返回仪表板”
  4. 创建OAuth客户端ID

    • 首选 凭证
    • 点击顶部的“创建凭据”
    • 选择“OAuth客户端ID”
    • 选择应用程序类型:“桌面应用程序”
    • 名称:“MCP GDrive服务器桌面客户端”
    • 点击“创建”
    • 在弹出窗口中:
      • 点击“下载JSON”
      • 保存文件
      • 点击“确定”
  5. 在项目中设置凭据

    # Create credentials directory
    mkdir credentials
    
    # Move and rename the downloaded JSON file
    mv path/to/downloaded/client_secret_*.json credentials/gcp-oauth.keys.json
    

安装

# Clone the repository
git clone https://github.com/felores/gdrive-mcp-server.git
cd gdrive-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

认证

  1. 创建凭据目录并放置OAuth密钥:

    mkdir credentials
    # Move your downloaded OAuth JSON file to the credentials directory as gcp-oauth.keys.json
    
  2. 运行身份验证命令:

    node dist/index.js auth
    
  3. 在浏览器中完成OAuth流程

  4. 凭据将保存在 credentials/.gdrive-server-credentials.json

🔧 用法

作为命令行工具

# Start the server
node dist/index.js

与桌面应用程序集成

将此配置添加到应用程序的服务器设置中:

{
  "mcpServers": {
    "gdrive": {
      "command": "node",
      "args": ["path/to/gdrive-mcp-server/dist/index.js"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "path/to/gdrive-mcp-server/credentials/gcp-oauth.keys.json",
        "MCP_GDRIVE_CREDENTIALS": "path/to/gdrive-mcp-server/credentials/.gdrive-server-credentials.json"
      }
    }
  }
}

替换 path/to/gdrive-mcp-server 带有安装目录的实际路径。

示例用法

  1. 搜索文件:

    // Search for documents containing "quarterly report"
    const result = await gdrive_search({ query: "quarterly report" });
    
  2. 读取文件内容:

    // Read a specific file using its ID
    const contents = await gdrive_read_file({ file_id: "your-file-id" });
    

🔒 安全

  • 所有敏感凭据都存储在 credentials 目录
  • OAuth凭据和令牌被排除在版本控制之外
  • 只读访问谷歌云端硬盘
  • 安全OAuth 2.0身份验证流程

🤝 贡献

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

📝 许可证

此MCP服务器根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。

🔍 故障排除

如果您遇到问题:

  1. 验证您的Google Cloud项目设置
  2. 确保启用了所有必需的OAuth作用域
  3. 检查凭据是否正确放置在 credentials 目录
  4. 验证Google Drive中的文件权限和访问权限

📚 额外资源