Google Drive Automation via Rube MCP
Automate Google Drive workflows including file upload/download, search, folder management, sharing/permissions, and organization through Composio's Google Drive toolkit.
Toolkit docs: composio.dev/toolkits/googledrive
Prerequisites
- •Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- •Active Google Drive connection via
RUBE_MANAGE_CONNECTIONSwith toolkitgoogledrive - •Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get 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.
- •Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - •Call
RUBE_MANAGE_CONNECTIONSwith toolkitgoogledrive - •If connection is not ACTIVE, follow the returned auth link to complete Google OAuth
- •Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Upload and Download Files
When 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 withname,mimetype, ands3key(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 download - •
mime_type: Export format for Google Workspace files only (omit for native files)
Pitfalls:
- •
GOOGLEDRIVE_UPLOAD_FILErequiresfile_to_upload.s3key; files must already be in internal storage - •For non-Google formats (Excel, PDF), do NOT set
mime_type; it causes errors for native files - •Download responses provide a temporary URL at
data.downloaded_file_content.s3url, not inline bytes - •Use
GOOGLEDRIVE_RESUMABLE_UPLOADfor files >5MB or when basic uploads fail
2. Search and List Files
When 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 fromnextPageToken - •
folder_id: Scope search to a specific folder
Pitfalls:
- •403 PERMISSION_DENIED if OAuth scopes insufficient for shared drives
- •Pagination required; files are in
response.data.files; follownextPageTokenuntil exhausted - •
corpora="domain"may trigger 400; try"allDrives"withincludeItemsFromAllDrives=true - •Query complexity limits: >5-10 OR clauses may error "The query is too complex"
- •Wildcards (*) NOT supported in
name; usecontainsfor partial matching - •'My Drive' is NOT searchable by name; use
folder_id='root'for root folder - •User email searches: use
'user@example.com' in owners(NOTowner:user@example.com)
3. Share Files and Manage Permissions
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 share - •
type: '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:
- •Invalid type/email combinations trigger 4xx errors
- •Using
type='anyone'or powerful roles is risky; get explicit user confirmation - •Org policies may block certain sharing