Automate Google Drive file operations (upload, download, search, share, organize) via Rube MCP (Composio). Upload/download files, manage folders, share with permissions, and search across drives programmatically.
Add this skill
npx mdskills install sickn33/google-drive-automationComprehensive Google Drive automation with detailed workflows, query syntax, and extensive pitfall documentation
Automate Google Drive workflows including file upload/download, search, folder management, sharing/permissions, and organization through Composio's Google Drive toolkit.
RUBE_MANAGE_CONNECTIONS with toolkit googledriveRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit googledriveWhen to use: User wants to upload files to or download files from Google Drive
Tool sequence:
GOOGLEDRIVE_FIND_FILE - Locate target folder for upload [Prerequisite]GOOGLEDRIVE_UPLOAD_FILE - Upload a file (max 5MB) [Required]GOOGLEDRIVE_RESUMABLE_UPLOAD - Upload large files [Fallback]GOOGLEDRIVE_DOWNLOAD_FILE - Download a file by ID [Required]GOOGLEDRIVE_DOWNLOAD_FILE_OPERATION - Track long-running downloads [Fallback]GOOGLEDRIVE_GET_FILE_METADATA - Verify file after upload/download [Optional]Key parameters:
file_to_upload: Object with name, mimetype, and s3key (file must be in internal storage)folder_to_upload_to: Target folder ID (optional; uploads to root if omitted)file_id: ID of file to downloadmime_type: Export format for Google Workspace files only (omit for native files)Pitfalls:
GOOGLEDRIVE_UPLOAD_FILE requires file_to_upload.s3key; files must already be in internal storagemime_type; it causes errors for native filesdata.downloaded_file_content.s3url, not inline bytesGOOGLEDRIVE_RESUMABLE_UPLOAD for files >5MB or when basic uploads failWhen to use: User wants to find specific files or browse Drive contents
Tool sequence:
GOOGLEDRIVE_FIND_FILE - Search by name, content, type, date, or folder [Required]GOOGLEDRIVE_LIST_FILES - Browse files with folder scoping [Alternative]GOOGLEDRIVE_LIST_SHARED_DRIVES - Enumerate shared drives [Optional]GOOGLEDRIVE_GET_FILE_METADATA - Get detailed file info [Optional]GOOGLEDRIVE_GET_ABOUT - Check storage quota and supported formats [Optional]Key parameters:
q: Drive query string (e.g., "name contains 'report'", "mimeType = 'application/pdf'")corpora: Search scope ('user', 'domain', 'drive', 'allDrives')fields: Response fields to include (e.g., 'files(id,name,mimeType)')orderBy: Sort key ('modifiedTime desc', 'name', 'quotaBytesUsed desc')pageSize: Results per page (max 1000)pageToken: Pagination cursor from nextPageTokenfolder_id: Scope search to a specific folderPitfalls:
response.data.files; follow nextPageToken until exhaustedcorpora="domain" may trigger 400; try "allDrives" with includeItemsFromAllDrives=truename; use contains for partial matchingfolder_id='root' for root folder'user@example.com' in owners (NOT owner:user@example.com)When to use: User wants to share files or manage access permissions
Tool sequence:
GOOGLEDRIVE_FIND_FILE - Locate the file to share [Prerequisite]GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE - Set sharing permission [Required]GOOGLEDRIVE_LIST_PERMISSIONS - View current permissions [Optional]GOOGLEDRIVE_GET_PERMISSION - Inspect a specific permission [Optional]GOOGLEDRIVE_UPDATE_PERMISSION - Modify existing permission [Optional]GOOGLEDRIVE_DELETE_PERMISSION - Revoke access [Optional]Key parameters:
file_id: ID of file to sharetype: 'user', 'group', 'domain', or 'anyone'role: 'owner', 'organizer', 'fileOrganizer', 'writer', 'commenter', 'reader'email_address: Required for type='user' or 'group'domain: Required for type='domain'transfer_ownership: Required when role='owner'Pitfalls:
type='anyone' or powerful roles is risky; get explicit user confirmationGMAIL_SEARCH_PEOPLE to resolve contact names to emails before sharingWhen to use: User wants to create folder structures or move files between folders
Tool sequence:
GOOGLEDRIVE_FIND_FILE - Check if folder already exists [Prerequisite]GOOGLEDRIVE_CREATE_FOLDER - Create a new folder [Required]GOOGLEDRIVE_GET_FILE_METADATA - Verify created folder [Optional]GOOGLEDRIVE_MOVE_FILE - Move files between folders [Optional]GOOGLEDRIVE_UPDATE_FILE_PUT - Update file metadata/parents [Alternative]Key parameters:
name: Folder nameparent_id: Parent folder ID (NOT name); omit for rootfile_id: File to moveadd_parents: Destination folder ID for moveremove_parents: Source folder ID to remove fromPitfalls:
GOOGLEDRIVE_CREATE_FOLDER requires parent_id as an ID, not a folder nameparent_id="root" creates at top level; for nested paths, chain folder IDsGOOGLEDRIVE_FIND_FILE returns ~100 items/page; follow nextPageToken for large drivesremove_parents for true movesGOOGLEDRIVE_FIND_FILE with q parameterfolder_id='root' or 'root' in parentsGOOGLEDRIVE_LIST_SHARED_DRIVESGMAIL_SEARCH_PEOPLE (for sharing)Google Drive uses a specific query language:
"name contains 'report'" or "name = 'exact.pdf'""mimeType = 'application/pdf'" or "mimeType = 'application/vnd.google-apps.folder'""'FOLDER_ID' in parents""modifiedTime > '2024-01-01T00:00:00'"and/or/not: "name contains 'report' and trashed = false""sharedWithMe = true", "starred = true", "trashed = false"nextPageToken until absent for complete resultspageSize explicitly (default 100, max 1000)For Google Workspace files, set mime_type to export:
application/pdf, text/plain, text/html, application/vnd.openxmlformats-officedocument.wordprocessingml.documenttext/csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/pdf, application/vnd.openxmlformats-officedocument.presentationml.presentationmime_type ONLY for Google Workspace files; omit for native filess3url is temporary; fetch promptlycontains operator instead of * for partial name matchingparent_idremove_parents| Task | Tool Slug | Key Params |
|---|---|---|
| Search files | GOOGLEDRIVE_FIND_FILE | q, corpora, pageSize |
| List files | GOOGLEDRIVE_LIST_FILES | folderId, q, orderBy |
| Upload file | GOOGLEDRIVE_UPLOAD_FILE | file_to_upload, folder_to_upload_to |
| Resumable upload | GOOGLEDRIVE_RESUMABLE_UPLOAD | file data |
| Download file | GOOGLEDRIVE_DOWNLOAD_FILE | file_id, mime_type (Workspace only) |
| File metadata | GOOGLEDRIVE_GET_FILE_METADATA | fileId, fields |
| Create folder | GOOGLEDRIVE_CREATE_FOLDER | name, parent_id |
| Move file | GOOGLEDRIVE_MOVE_FILE | file_id, add_parents, remove_parents |
| Share file | GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE | file_id, role, type, email_address |
| List permissions | GOOGLEDRIVE_LIST_PERMISSIONS | fileId |
| Update permission | GOOGLEDRIVE_UPDATE_PERMISSION | file_id, permission_id |
| Delete permission | GOOGLEDRIVE_DELETE_PERMISSION | file_id, permission_id |
| List shared drives | GOOGLEDRIVE_LIST_SHARED_DRIVES | pageSize |
| Drive info | GOOGLEDRIVE_GET_ABOUT | (none) |
| Create shortcut | GOOGLEDRIVE_CREATE_SHORTCUT_TO_FILE | target file_id |
Install via CLI
npx mdskills install sickn33/google-drive-automationGoogle Drive Automation is a free, open-source AI agent skill. Automate Google Drive file operations (upload, download, search, share, organize) via Rube MCP (Composio). Upload/download files, manage folders, share with permissions, and search across drives programmatically.
Install Google Drive Automation with a single command:
npx mdskills install sickn33/google-drive-automationThis downloads the skill files into your project and your AI agent picks them up automatically.
Google Drive Automation works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Codex, Gemini Cli, Amp, Roo Code, Goose, Opencode, Trae, Qodo, Command Code. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.