Automate Google Drive File Operations
Lightweight Google Drive automation via standalone OAuth: search, upload, download, move, and organize files with no MCP server.
Why it matters
Streamline your Google Workspace by automating file management tasks directly from your local scripts. This skill provides read/write access to Google Drive without requiring an MCP server.
Outcomes
What it gets done
Search for files using various criteria (full-text, title, URL, shared with me).
List files and folders within your Google Drive.
Upload, download, move, copy, rename, and trash files and folders.
Create new folders with optional parent folder specification.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-google-drive-automation | bash Overview
Google Drive
A standalone-OAuth Google Drive skill with no MCP server dependency, providing search, upload, download, move, copy, rename, and trash operations through local Python scripts. Use on a Google Workspace account when you need scriptable, direct Drive file operations without an MCP server, keeping in mind Google Docs/Sheets/Slides can't be downloaded through it.
What it does
Google Drive is a lightweight integration using standalone OAuth authentication - no MCP server required - that provides full read/write file-level access to Drive through local Python scripts (scripts/auth.py and scripts/drive.py).
When to use - and when NOT to
Use this when you need to search, list, upload, download, move, or organize Google Drive files and folders, or want direct Drive read/write automation via local scripts on a Workspace account without introducing an MCP server dependency. It requires a Google Workspace account - personal Gmail accounts are not supported. It also cannot download Google Docs, Sheets, or Slides directly, since those Workspace-native formats need export or a dedicated tool; only regular files such as PDFs and images download directly.
Inputs and outputs
First-time setup authenticates via a browser flow:
python scripts/auth.py login
Status can be checked with auth.py status and revoked with auth.py logout. All file operations run through scripts/drive.py, which auto-authenticates on first use. Read commands: search (full-text, title-only via a title: prefix, by Drive URL, --shared-with-me, or paginated with --limit/--page-token), find-folder <name>, list (root Drive or a specific folder ID with --limit), and download <file-id> <path>. Write commands: upload <path> (optionally --folder/--name), create-folder <name> (optionally --parent), move <file-id> <dest-folder-id>, copy <file-id> (optionally --name/--folder), rename <file-id> <new-name>, and trash <file-id>. Search accepts five query formats: full-text strings that search both content and file names, title:-prefixed name-only search, a Drive URL (auto-extracts the file/folder ID), a raw 25+ character folder ID (which lists that folder's contents), or native Drive query syntax such as mimeType='application/pdf' for pass-through filtering. File IDs are the long Drive identifiers (e.g. 1ABC123xyz_-abc123) returned by search, find-folder, list, or found directly in Drive URLs - the same ID is reused across download, move, copy, rename, and trash calls.
Integrations
Uses standalone Google OAuth with no MCP server, storing tokens in the OS keyring rather than a plaintext file - macOS Keychain, Windows Credential Locker, or Linux Secret Service API (GNOME Keyring, KDE Wallet, and similar) - under the service name google-drive-skill-oauth, with automatic refresh of expired tokens via Google's cloud function so re-authentication is rarely needed after the initial browser login.
Who it's for
Automations or agents on a Google Workspace account that need direct, scriptable Drive file operations - search, upload, download, organize into folders, copy, rename, or trash - without standing up an MCP server, keeping in mind that regular files such as PDFs and images download directly but Google Docs, Sheets, and Slides do not and require export or a dedicated tool instead.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.