项目简介

'drivectl' 是一个强大的命令行工具,用于与您的Google Drive文件进行交互。它不仅可以作为独立的CLI工具使用,还支持以 Model Context Protocol (MCP) 服务器模式运行,从而允许 LLM(大型语言模型)客户端通过标准化协议调用其功能,实现对Google Drive内容的智能化访问和操作。

主要功能点

  • 文件管理: 支持列出、描述和下载Google Drive中的文件及文件夹,并提供强大的查询过滤功能。
  • Google Docs 支持: 能够导出Google Docs为多种格式(如纯文本、Markdown、PDF),并可提取文档中特定选项卡(Tab)的内容。
  • Google Sheets 支持: 提供列出电子表格中所有工作表的功能,可以获取整个工作表内容为CSV格式,并支持读写工作表中的特定单元格范围(使用A1表示法)。
  • 安全认证: 内置简单安全的 OAuth 2.0 认证流程,方便您授权 'drivectl' 访问您的Google账户。
  • MCP 服务器模式: 将上述所有 Google 服务操作功能封装为 MCP 工具和资源,通过 JSON-RPC 协议暴露给 LLM 客户端,实现自动化和智能化交互。

安装步骤

  1. 安装Go语言环境: 请确保您的系统已安装 Go 编程语言(版本 1.18 或更高)。您可以访问 Go 官方网站 获取安装包。
  2. 克隆仓库: 打开您的终端或命令提示符,使用 Git 命令克隆 'drivectl' 仓库到本地:
    git clone https://github.com/ghchinoy/drivectl.git
    cd drivectl
  3. 构建工具: 在 'drivectl' 仓库的根目录中,运行以下命令来构建可执行文件:
    go build -o drivectl .
    构建成功后,您将在当前目录找到名为 'drivectl' 的可执行文件。
  4. 配置 Google API 凭据:
    • 访问 Google Cloud Console
    • 创建一个新项目或选择一个现有项目。
    • 在导航菜单中,进入 “API 和服务” > “库”。搜索并启用 “Google Drive API”“Google Docs API”
    • 进入 “API 和服务” > “凭据”。点击 “创建凭据” > “OAuth 客户端 ID”
    • 选择 “桌面应用” 作为应用类型。
    • 为您的客户端 ID 命名(例如:“drivectl”),然后点击 “创建”
    • 一个窗口将显示您的客户端 ID 和客户端密钥。点击 “下载 JSON”
    • 将下载的文件重命名为 'client_secret.json'。
    • 将此文件放置在您系统上的安全位置。在运行 'drivectl' 或 MCP 服务器时,您需要通过 '---secret-file' 参数或设置 'DRIVE_SECRETS' 环境变量来指定该文件的完整路径。

服务器配置 (供 MCP 客户端使用)

MCP 客户端需要配置与 'drivectl' MCP 服务器的连接信息。以下是一个典型的 JSON 格式配置示例,您可以根据您的 MCP 客户端的实际要求进行调整:

{
  "name": "drivectl-google-drive-server",
  "description": "MCP服务器,用于通过LLM访问和管理Google Drive、Docs和Sheets。",
  "command": [
    "./drivectl"
  ],
  "args": [
    "--mcp",
    "--secret-file",
    "/path/to/your/client_secret.json"
  ],
  "notes": "
    *   'name': 为该服务器实例定义的唯一名称,方便MCP客户端识别和管理。
    *   'description': 对服务器功能的简要描述。
    *   'command': 启动'drivectl'可执行文件的路径。例如,如果'drivectl'在当前目录,则为'./drivectl';如果已添加到系统PATH,则可以直接是'drivectl'。
    *   'args': 启动'drivectl' MCP服务器所需的命令行参数列表。
        *   '--mcp': 启用标准输入/输出(Stdio)模式的MCP服务器,这是默认的交互模式。
        *   '--secret-file': **必需参数**,用于指定您的 Google API 'client_secret.json' 文件的完整路径,该文件是进行 Google 账户认证的关键。
    *   **可选HTTP模式**:如果您希望通过HTTP而非Stdio协议运行MCP服务器,可以将'--mcp'参数替换为'--mcp-http'并指定一个地址和端口,例如:'\"--mcp-http\", \":8080\"'。
    *   **首次认证**:在MCP服务器首次运行时,'drivectl' 会尝试进行 Google 账户认证。如果您的系统有图形浏览器,它将自动打开一个浏览器窗口引导您完成授权。认证成功后,您的认证令牌将安全地存储在本地(通常在用户主目录下的'.config/drivectl/token.json'),以便后续自动使用。
  "
}

基本使用方法 (作为 MCP 客户端调用)

一旦 'drivectl' MCP 服务器根据上述配置成功启动并被 MCP 客户端连接,您就可以通过 MCP 客户端调用其暴露的工具和资源。

例如,如果您使用 'mcptools' CLI 工具与 MCP 服务器交互:

  • 列出 MCP 服务器提供的所有可用工具:
    mcptools tools ./drivectl --mcp --secret-file /path/to/your/client_secret.json
  • 调用 'list' 工具列出 Google Drive 中的文件:
    mcptools call list ./drivectl --mcp --secret-file /path/to/your/client_secret.json
  • 调用 'get' 工具获取指定文件(例如Google Doc)的内容:
    mcptools call get -p '{"file-id": "<your-file-id>"}' ./drivectl --mcp --secret-file /path/to/your/client_secret.json
    请将 '<your-file-id>' 替换为您的 Google Drive 中文件的实际 ID。

信息

分类

生产力应用