项目简介
'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 客户端,实现自动化和智能化交互。
安装步骤
- 安装Go语言环境: 请确保您的系统已安装 Go 编程语言(版本 1.18 或更高)。您可以访问 Go 官方网站 获取安装包。
- 克隆仓库: 打开您的终端或命令提示符,使用 Git 命令克隆 'drivectl' 仓库到本地:
git clone https://github.com/ghchinoy/drivectl.git cd drivectl - 构建工具: 在 'drivectl' 仓库的根目录中,运行以下命令来构建可执行文件:
构建成功后,您将在当前目录找到名为 'drivectl' 的可执行文件。go build -o drivectl . - 配置 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)的内容:
请将 '<your-file-id>' 替换为您的 Google Drive 中文件的实际 ID。mcptools call get -p '{"file-id": "<your-file-id>"}' ./drivectl --mcp --secret-file /path/to/your/client_secret.json
信息
分类
生产力应用