# How to connect Google Drive to Claude Cowork

```json
{
  "title": "How to connect Google Drive to Claude Cowork",
  "toolkit": "Google Drive",
  "toolkit_slug": "googledrive",
  "framework": "Claude Cowork",
  "framework_slug": "claude-cowork",
  "url": "https://composio.dev/toolkits/googledrive/framework/claude-cowork",
  "markdown_url": "https://composio.dev/toolkits/googledrive/framework/claude-cowork.md",
  "updated_at": "2026-05-12T10:13:56.854Z"
}
```

## Introduction

Cowork is Anthropic's AI agent for knowledge work. Think of it as Claude Code for everything else. It works autonomously with your computer, local files, and applications to accomplish complex tasks.
This guide walks you through the easiest and most secure way to connect your Google Drive account to Cowork via Composio Connect, enabling it to create a new folder named 'Invoices', share last uploaded file with your team, add comment to project proposal document, and more such actions on your behalf without compromising your account security.

## Also integrate Google Drive with

- [ChatGPT](https://composio.dev/toolkits/googledrive/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/googledrive/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/googledrive/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/googledrive/framework/claude-code)
- [Codex](https://composio.dev/toolkits/googledrive/framework/codex)
- [Cursor](https://composio.dev/toolkits/googledrive/framework/cursor)
- [VS Code](https://composio.dev/toolkits/googledrive/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/googledrive/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/googledrive/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/googledrive/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/googledrive/framework/cli)
- [Google ADK](https://composio.dev/toolkits/googledrive/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/googledrive/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/googledrive/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/googledrive/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/googledrive/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/googledrive/framework/crew-ai)

## Connect Google Drive to Claude Cowork

### Connecting Google Drive to Claude Cowork
1. Open Customize
In Claude Desktop, click Customize in the left sidebar, then select Connectors and click the + icon at the top.
2. Add the Composio MCP server
Click Add custom connector and paste in the Composio MCP server URL:

```bash
https://connect.composio.dev/mcp
```

## What is Claude Cowork?

Claude Cowork is Anthropic's agent for general knowledge work. It can use your computer, files, and connected applications to complete longer-running tasks across your work tools.
With Composio Connect, Cowork can securely access apps like Google Drive through MCP without you sharing account credentials directly with the agent.

## What is the Google Drive MCP server, and what's possible with it?

The Googledrive MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Google Drive account. It provides structured and secure access to your files and folders, so your agent can perform actions like uploading files, managing sharing permissions, organizing folders, and collaborating via comments on your behalf.
- Automated file uploads and creation: Effortlessly ask your agent to create new files or folders, upload documents, or generate files from provided text content in your Google Drive.
- Advanced sharing and permission management: Let your agent modify sharing preferences for files and folders, granting or revoking access to users, groups, domains, or the public.
- Collaboration through comments and replies: Have the agent add comments to files, reply to existing comments, or delete comments to facilitate smooth collaboration with your team.
- Efficient folder and shortcut organization: Direct your agent to create, organize, or nest folders, or generate shortcuts to important files and folders for easier access.
- File duplication and backup: Instruct your agent to duplicate existing files, creating reliable backups or templates for repeated use.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `GOOGLEDRIVE_ADD_PARENT` | Insert File Parent (v2) | Tool to add a parent folder for a file using Google Drive API v2. Use when you need to add a file to an additional folder. |
| `GOOGLEDRIVE_ADD_PROPERTY` | Insert Property (v2 API) | Tool to add a property to a file, or update it if it already exists (v2 API). Use when you need to attach custom key-value metadata to a Google Drive file. |
| `GOOGLEDRIVE_COPY_FILE_ADVANCED` | Copy file with advanced options | Creates a copy of a file and applies any requested updates with patch semantics. Use when you need to duplicate a file with advanced options like label inclusion, visibility settings, or custom metadata. |
| `GOOGLEDRIVE_CREATE_COMMENT` | Create Comment | Tool to create a comment on a file in Google Drive. Returns a nested `data` object; extract `data.id` for the resulting comment identifier. Omit `anchor` and `quoted_file_content_*` for general file-level comments. |
| `GOOGLEDRIVE_CREATE_DRIVE` | Create Shared Drive | Tool to create a new shared drive. Use when you need to programmatically create a new shared drive for collaboration or storage. |
| `GOOGLEDRIVE_CREATE_FILE` | Create File or Folder | Creates a new file or folder in Google Drive. Supports both metadata-only creation (for folders and empty documents) and file upload with content. When file_to_upload is provided, uploads the actual file bytes; otherwise creates an empty file. Native Google file types (Docs, Sheets, Forms, etc.) and folders are created as empty shells when no content is provided; content must be added manually afterward. Newly created files are private by default — set sharing permissions afterward for collaboration. For shared-drive folders, use this tool with the target folder ID in `parents` rather than GOOGLEDRIVE_CREATE_FOLDER. |
| `GOOGLEDRIVE_CREATE_FILE_FROM_TEXT` | Create a File from Text | Creates a new file in Google Drive from provided text content (up to 10MB), supporting various formats including automatic conversion to Google Workspace types. Returns flat metadata fields (`id`, `mimeType`, `name`) at the top level — not nested under a `file` object. Created files are private by default; use a sharing tool afterward for collaborative access. Rapid successive calls may trigger `403 rateLimitExceeded` or `429 userRateLimitExceeded`; apply exponential backoff between retries. Does not support shared-drive targets in all cases. |
| `GOOGLEDRIVE_CREATE_FOLDER` | Create a folder | Creates a new folder in Google Drive, optionally within an EXISTING parent folder specified by its ID or name. The parent folder MUST already exist - use GOOGLEDRIVE_FIND_FOLDER first to verify the parent exists or find its ID. Google Drive permits duplicate folder names, so always store and reuse the folder ID returned by this action rather than relying on names for future lookups. |
| `GOOGLEDRIVE_CREATE_PERMISSION` | Create Permission | Tool to create a permission for a file or shared drive. Use when you need to share a file or folder with users, groups, domains, or make it publicly accessible. **Warning:** Concurrent permissions operations on the same file are not supported; only the last update is applied. |
| `GOOGLEDRIVE_CREATE_REPLY` | Create Reply | Tool to create a reply to a comment in Google Drive. Use when you need to respond to an existing comment on a file. |
| `GOOGLEDRIVE_CREATE_SHORTCUT_TO_FILE` | Create Shortcut to File/Folder | Tool to create a shortcut to a file or folder in Google Drive. Use when you need to link to an existing Drive item from another location without duplicating it. The shortcut receives its own distinct file ID (capture from response). No parent folder parameter exists; use GOOGLEDRIVE_MOVE_FILE after creation to place the shortcut in the desired location. |
| `GOOGLEDRIVE_DELETE_CHILD` | Delete Child (v2) | Tool to remove a child from a folder using Google Drive API v2. Use when you need to remove a file from a specific folder. |
| `GOOGLEDRIVE_DELETE_COMMENT` | Delete Comment | Permanently deletes a comment thread (and all its replies) from a Google Drive file — this action is irreversible. To remove only a single reply within a thread, use GOOGLEDRIVE_DELETE_REPLY instead. Verify the exact comment content and comment_id before calling. |
| `GOOGLEDRIVE_DELETE_DRIVE` | Delete Shared Drive | Tool to permanently delete a shared drive. Use when you need to remove a shared drive and its contents (if specified). |
| `GOOGLEDRIVE_DELETE_PARENT` | Delete Parent (v2) | Tool to remove a parent from a file using Google Drive API v2. Use when you need to remove a file from a specific folder. |
| `GOOGLEDRIVE_DELETE_PERMISSION` | Delete Permission | Deletes a permission from a file by permission ID. Deletion is irreversible — confirm the target user, group, or permission type before executing. IMPORTANT: You must first call GOOGLEDRIVE_LIST_PERMISSIONS to get valid permission IDs. To fully revoke public access, the type='anyone' (link-sharing) permission must be explicitly deleted; revoking other permissions leaves the file publicly accessible via link. Use when you need to revoke access for a specific user or group from a file. |
| `GOOGLEDRIVE_DELETE_PROPERTY` | Delete Property (v2 API) | Tool to delete a property from a file using Google Drive API v2. Use when you need to remove custom key-value metadata from a file. |
| `GOOGLEDRIVE_DELETE_REPLY` | Delete Reply | Tool to delete a specific reply by reply ID. Deletion is irreversible; obtain explicit user confirmation before calling. Removes only the targeted reply, not the full comment thread — use GOOGLEDRIVE_DELETE_COMMENT to remove the entire thread. |
| `GOOGLEDRIVE_DELETE_REVISION` | Delete Revision | Tool to permanently delete a file revision. Use when you need to remove a specific version of a binary file (images, videos, etc.). Cannot delete revisions for Google Docs/Sheets or the last remaining revision. |
| `GOOGLEDRIVE_DOWNLOAD_FILE` | Download a file from Google Drive | Downloads a file from Google Drive by its ID. For Google Workspace documents (Docs, Sheets, Slides), optionally exports to a specified `mime_type`. For other file types, downloads in their native format regardless of mime_type. Examples: Export a Google Doc to plain text: {"file_id": "1N2o5xQWmAbCdEfGhIJKlmnOPq", "mime_type": "text/plain"} Download a Google Sheet as CSV: {"file_id": "1ZyXwVuTsRqPoNmLkJiHgFeDcB", "mime_type": "text/csv"} |
| `GOOGLEDRIVE_DOWNLOAD_FILE_OPERATION` | Download file via operation | Tool to download file content using long-running operations. Use when you need to download Google Vids files or export Google Workspace documents as part of a long-running operation. Operations are valid for 24 hours from creation. Returns a response containing `downloaded_file_content.s3url` — a short-lived S3 URL; fetch the actual file bytes from that URL promptly after the call. |
| `GOOGLEDRIVE_EDIT_FILE` | Edit File | Updates an existing Google Drive file with binary content by overwriting its entire content with new text (max 10MB). IMPORTANT: This action only works with files that have binary content (text files, PDFs, images, etc.). It does NOT support editing Google Workspace native files (Google Docs, Sheets, Slides, etc.). For Google Workspace files, use the Google Docs API, Google Sheets API, or Google Slides API directly. Preserves the original file_id (unlike GOOGLEDRIVE_UPLOAD_FILE which creates a new ID). |
| `GOOGLEDRIVE_EMPTY_TRASH` | Empty Trash | Tool to permanently and irreversibly delete ALL trashed files in the user's Google Drive or a specified shared drive. Recovery is impossible after execution — no Drive tool can restore items once trash is emptied. Affects every item in trash across the entire account or shared drive, not just files from the current workflow. Always obtain explicit user confirmation and clarify that recovery is impossible before executing. Provide driveId to target a specific shared drive's trash; omit to empty the user's root trash. |
| `GOOGLEDRIVE_EXPORT_GOOGLE_WORKSPACE_FILE` | Export Google Workspace file | Exports a Google Workspace document to the requested MIME type and returns exported file content. Use when you need to export Google Docs, Sheets, Slides, Drawings, or Apps Script files to a specific format. Note: The exported content is limited to 10MB by Google Drive API. |
| `GOOGLEDRIVE_FIND_FILE` | Find file | The comprehensive Google Drive search tool that handles all file and folder discovery needs. Use this for any file finding task - from simple name searches to complex queries with date filters, MIME types, permissions, custom properties, folder scoping, and more. Searches across My Drive and shared drives with full metadata support. Examples: - Find PDFs: q="mimeType = 'application/pdf'" - Find recent files: q="modifiedTime > '2024-01-01T00:00:00'" - Search by name: q="name contains 'report'" - Files in folder: folderId="abc123" or q="'FOLDER_ID' in parents" |
| `GOOGLEDRIVE_FIND_FOLDER` | Find folder | Tool to find a folder in Google Drive by its name and optionally a parent folder. Use when you need to locate a specific folder to perform further actions like creating files in it or listing its contents. |
| `GOOGLEDRIVE_GENERATE_IDS` | Generate File IDs | Generates a set of file IDs which can be provided in create or copy requests. Use when you need to pre-allocate IDs for new files or copies. |
| `GOOGLEDRIVE_GET_ABOUT` | Get about | Tool to retrieve information about the user, the user's Drive, and system capabilities. Use when you need to check storage quotas, user details, or supported import/export formats. Note: storageQuota reflects My Drive (personal) storage only — it does not cover shared drives; use GOOGLEDRIVE_LIST_SHARED_DRIVES and GOOGLEDRIVE_GET_DRIVE for shared drive quotas. A successful response confirms base Drive read access only; write access and shared drive access must be verified separately. |
| `GOOGLEDRIVE_GET_APP` | Get App | Tool to get information about a specific Drive app by ID. Use 'self' as the app ID to get information about the calling app. |
| `GOOGLEDRIVE_GET_CHANGES_START_PAGE_TOKEN` | Get Changes Start Page Token | Tool to get the starting pageToken for listing future changes in Google Drive. Returns only a token — pass it to GOOGLEDRIVE_LIST_CHANGES to retrieve actual changes. Persist this token; losing it requires a full rescan. The token is forward-looking: GOOGLEDRIVE_LIST_CHANGES may return no results if no changes have occurred since issuance. For simple recent-file lookups, prefer GOOGLEDRIVE_FIND_FILE; use this tool only for incremental change-feed workflows. |
| `GOOGLEDRIVE_GET_CHILD` | Get Child Reference (v2) | Tool to get a specific child reference for a folder using Drive API v2. Use when you need to verify a specific file exists as a child of a folder. |
| `GOOGLEDRIVE_GET_COMMENT` | Get Comment | Tool to get a comment by ID. Use when you need to retrieve a specific comment from a Google Drive file and have both the file ID and comment ID. |
| `GOOGLEDRIVE_GET_DRIVE` | Get Shared Drive | Tool to get a shared drive by ID. Use when you need to retrieve information about a specific shared drive. To discover drive_ids, use GOOGLEDRIVE_LIST_SHARED_DRIVES first; GOOGLEDRIVE_GET_ABOUT reflects overall user storage, not individual shared drive details. Permission changes may have a brief propagation delay before appearing in results. |
| `GOOGLEDRIVE_GET_FILE_METADATA` | Get File Metadata | Tool to get a file's metadata by ID. Use to verify `mimeType`, `parents`, and `trashed` status before destructive operations (delete/move/export), or to confirm `mimeType='application/vnd.google-apps.document'` before calling GOOGLEDOCS_* tools (non-native files require GOOGLEDRIVE_DOWNLOAD_FILE). Only returns metadata visible to the connected account; public access requires GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE. High-frequency calls risk `403 rateLimitExceeded`; apply exponential backoff. |
| `GOOGLEDRIVE_GET_FILE_PROPERTY` | Get Property (v2) | Tool to get a property by its key using Google Drive API v2. Use when you need to retrieve a specific custom property attached to a file. |
| `GOOGLEDRIVE_GET_PARENT` | Get Parent Reference (v2) | Tool to get a specific parent reference for a file using Drive API v2. Use when you need to retrieve information about a specific parent folder of a file. |
| `GOOGLEDRIVE_GET_PERMISSION` | Get Permission | Gets a permission by ID. Use this tool to retrieve a specific permission for a file or shared drive. Newly created or updated permissions on shared drives may have a brief propagation delay before appearing. |
| `GOOGLEDRIVE_GET_PERMISSION_ID_FOR_EMAIL` | Get Permission ID for Email | Tool to get the permission ID for an email address using the Drive API v2. Use when you need to convert an email address to its corresponding permission ID. |
| `GOOGLEDRIVE_GET_REPLY` | Get Reply | Tool to get a specific reply to a comment on a file. Use when you need to retrieve the details of a particular reply. |
| `GOOGLEDRIVE_GET_REVISION` | Get Revision | Tool to get a specific revision's metadata (name, modifiedTime, keepForever, etc.) by revision ID. Returns metadata only — not file content. Use a separate download tool to retrieve file content or restore a revision. |
| `GOOGLEDRIVE_GOOGLE_DRIVE_DELETE_FOLDER_OR_FILE_ACTION` | Delete folder or file | Tool to delete a file or folder in Google Drive. Use when you need to permanently remove a specific file or folder using its ID. Note: This action is irreversible. Deleting a folder permanently removes all nested files and subfolders. |
| `GOOGLEDRIVE_HIDE_DRIVE` | Hide Shared Drive | Tool to hide a shared drive from the default view. Use when you want to remove a shared drive from the user's main Google Drive interface without deleting it. |
| `GOOGLEDRIVE_INSERT_CHILD` | Insert Child Into Folder (v2) | Tool to insert a file into a folder using Drive API v2. Use when you need to add an existing file to a folder. |
| `GOOGLEDRIVE_LIST_ACCESS_PROPOSALS` | List Access Proposals | Tool to list pending access proposals on a file. Use when you need to retrieve access proposals for a specific file. Note: Only approvers can list access proposals; non-approvers will receive a 403 error. |
| `GOOGLEDRIVE_LIST_APPROVALS` | List Approvals | Tool to list approvals on a file for workflow-based access control. Use when you need to retrieve all approvals associated with a specific file in Google Drive. |
| `GOOGLEDRIVE_LIST_CHANGES` | List Changes | Tool to list the changes for a user or shared drive. Use when a full incremental change feed is needed (for simple recent-file lookups, prefer GOOGLEDRIVE_FIND_FILE instead). Tracks modifications such as creations, deletions, or permission changes. The pageToken is optional - if not provided, the current start page token will be automatically fetched; an empty result is valid if no recent activity has occurred. Example usage: ```json { "pageToken": "22633", "pageSize": 100, "includeRemoved": true } ``` Returns changes with timestamps, file IDs, and modification details. Paginate by following `nextPageToken` until it is absent — stopping early will silently omit changes. Save `newStartPageToken` to monitor future changes efficiently. |
| `GOOGLEDRIVE_LIST_CHILDREN_V2` | List Folder Children (v2) | Tool to list a folder's children using Google Drive API v2. Use when you need to retrieve all files and folders within a specific folder. |
| `GOOGLEDRIVE_LIST_COMMENTS` | List Comments | Tool to list all comments for a file in Google Drive. Results are paginated; iterate using nextPageToken until absent to retrieve all comments. Filtering by author, content, or other criteria must be done client-side. Use commentId, createdTime, and author from results to uniquely identify comments before acting on them. |
| `GOOGLEDRIVE_LIST_FILE_LABELS` | List File Labels | Tool to list the labels already applied to a file in Google Drive. An empty labels array is a valid response indicating no labels are applied, not an error. This tool shows only applied labels; label_id and field_id values required by other Drive label tools must be obtained from admin configuration. |
| `GOOGLEDRIVE_LIST_FILE_PROPERTIES` | List Properties (v2 API) | Tool to list a file's properties in Google Drive API v2. Use when you need to retrieve custom properties (key-value pairs) attached to a file. |
| `GOOGLEDRIVE_LIST_PERMISSIONS` | List Permissions | Tool to list a file's permissions. Use when you need to retrieve all permissions associated with a specific file or shared drive. |
| `GOOGLEDRIVE_LIST_REPLIES` | List Replies to Comment | Tool to list replies to a comment in Google Drive. Use this when you need to retrieve all replies associated with a specific comment on a file. |
| `GOOGLEDRIVE_LIST_REVISIONS` | List File Revisions | Tool to list a file's revision metadata (not content) in Google Drive. Drive may prune old revisions, so history may be incomplete for frequently edited files. Filter client-side for specific revisionIds; do not assume the last entry is the active version. |
| `GOOGLEDRIVE_LIST_SHARED_DRIVES` | List Shared Drives | Tool to list the user's shared drives. Use when you need to get a list of all shared drives accessible to the authenticated user. Results may differ from the web UI due to admin policies; listing a drive does not guarantee access to its contents. Paginated calls may trigger 403 rateLimitExceeded or 429 tooManyRequests; apply exponential backoff when iterating many pages. |
| `GOOGLEDRIVE_MODIFY_FILE_LABELS` | Modify File Labels | Modifies the set of labels applied to a file. Returns a list of the labels that were added or modified. Use when you need to programmatically change labels on a Google Drive file, such as adding, updating, or removing them. |
| `GOOGLEDRIVE_MOVE_FILE` | Move File | Tool to move a file from one folder to another in Google Drive. To truly move (not just copy the parent), always provide both `add_parents` (destination folder ID) and `remove_parents` (source folder ID); omitting `remove_parents` leaves the file in multiple folders. Useful for reorganizing files, including newly created Google Docs/Sheets that default to Drive root. |
| `GOOGLEDRIVE_PATCH_PERMISSION` | Patch Permission | Tool to update a permission using patch semantics. Use when you need to modify specific fields of an existing permission without affecting other fields. **Warning:** Concurrent permissions operations on the same file are not supported; only the last update is applied. |
| `GOOGLEDRIVE_PATCH_PROPERTY` | Patch Property (v2 API) | Tool to update a property on a file using PATCH semantics (v2 API). Use when you need to partially update custom key-value metadata attached to a Google Drive file. |
| `GOOGLEDRIVE_RESUMABLE_UPLOAD` | Resumable Upload | Tool to start and complete a Google Drive resumable upload session. Use for files larger than ~5 MB to avoid timeouts or size-limit failures. HTTP 308 means continue the session from the correct byte offset; HTTP 410 means the session expired and a full restart with a new session is required. |
| `GOOGLEDRIVE_STOP_WATCH_CHANNEL` | Stop Watch Channel | Tool to stop watching resources through a specified channel. Use this when you want to stop receiving notifications for a previously established watch. Both `id` and `resourceId` must be saved from the original watch response — they cannot be retrieved after the fact. |
| `GOOGLEDRIVE_TRASH_FILE` | Trash File | Tool to move a file or folder to trash (soft delete). Use when you need to delete a file but want to allow recovery via UNTRASH_FILE. This action is distinct from permanent deletion and provides a safer cleanup workflow. |
| `GOOGLEDRIVE_UNHIDE_DRIVE` | Unhide Shared Drive | Tool to unhide a shared drive. Use when you need to restore a shared drive to the default view. |
| `GOOGLEDRIVE_UNTRASH_FILE` | Untrash File | Tool to restore a file from the trash. Use when you need to recover a deleted file. This action updates the file's metadata to set the 'trashed' property to false. Only works while the file remains in trash — recovery is impossible after trash is emptied via GOOGLEDRIVE_EMPTY_TRASH or auto-purged by policy. |
| `GOOGLEDRIVE_UPDATE_COMMENT` | Update Comment | Tool to update an existing comment on a Google Drive file. Use when you need to change the content of a comment. NOTE: The 'resolved' field is read-only in the Google Drive API. To resolve or reopen a comment, use CREATE_REPLY with action='resolve' or action='reopen'. |
| `GOOGLEDRIVE_UPDATE_DRIVE` | Update Shared Drive | Tool to update the metadata for a shared drive. Use when you need to modify properties like the name, theme, background image, or restrictions of a shared drive. |
| `GOOGLEDRIVE_UPDATE_FILE_METADATA_PATCH` | Update File Metadata (PATCH v2) | Tool to update file metadata using the Drive API v2 PATCH method. Use when you need to modify file properties like title, description, or labels using patch semantics. |
| `GOOGLEDRIVE_UPDATE_FILE_PROPERTY` | Update Property (v2 API) | Tool to update a property on a file using Google Drive API v2. Use when you need to modify an existing custom property attached to a file. |
| `GOOGLEDRIVE_UPDATE_FILE_PUT` | Update File (Metadata) | Updates file metadata. Uses PATCH semantics (partial update) as per Google Drive API v3 — only explicitly provided fields are updated, so omit fields you do not intend to overwrite. Use this tool to modify attributes of an existing file like its name, description, or parent folders. To move a file, supply add_parents and remove_parents together; omitting remove_parents creates multiple parents, omitting add_parents can orphan the file. Bulk updates may trigger 429 Too Many Requests; apply exponential backoff. Note: supports metadata updates only; file content updates are not yet implemented. |
| `GOOGLEDRIVE_UPDATE_FILE_REVISION_METADATA` | Update File Revision Metadata | Updates ONLY the metadata properties of a specific file revision (keepForever, published, publishAuto, publishedOutsideDomain). IMPORTANT: This action does NOT update file content. To update file content, use EDIT_FILE or UPDATE_FILE_PUT instead. This action requires BOTH file_id AND revision_id parameters. Use LIST_REVISIONS to get available revision IDs for a file. Valid parameters: file_id (required), revision_id (required), keep_forever, published, publish_auto, published_outside_domain. Invalid parameters (use other actions): file_contents, mime_type, content, name - these are NOT supported by this action. |
| `GOOGLEDRIVE_UPDATE_PERMISSION` | Update Permission | Tool to update a permission with patch semantics. Use when you need to modify an existing permission for a file or shared drive. Inherited or domain-managed permissions may not be editable; verify editability with GOOGLEDRIVE_LIST_PERMISSIONS before updating. |
| `GOOGLEDRIVE_UPDATE_REPLY` | Update Reply | Tool to update a reply to a comment on a Google Drive file. Use when you need to modify the content of an existing reply. |
| `GOOGLEDRIVE_UPLOAD_FILE` | Upload File | Uploads a file (max 5MB) to Google Drive, placing it in the specified folder or root if no valid folder ID is provided. Always creates a new file (never updates existing); use GOOGLEDRIVE_EDIT_FILE to update with a stable file_id. Uploaded files are private by default; configure sharing via GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE. |
| `GOOGLEDRIVE_UPLOAD_FROM_URL` | Upload File from URL to Drive | Tool to fetch a file from a provided URL server-side and upload it into Google Drive. Use when you need to reliably persist externally hosted files into Drive without client-side downloads or temporary storage. |
| `GOOGLEDRIVE_UPLOAD_UPDATE_FILE` | Upload/Update File Content | Tool to update file content in Google Drive by uploading new binary content. Use when you need to replace the contents of an existing file with new file data. |
| `GOOGLEDRIVE_WATCH_CHANGES` | Watch Drive Changes | Tool to subscribe to changes for a user or shared drive in Google Drive. Use when you need to monitor a Google Drive for modifications and receive notifications at a specified webhook URL. Notifications may be batched rather than per-change; design handlers to be idempotent and fetch all changes since the last known page_token on each notification. |
| `GOOGLEDRIVE_WATCH_FILE` | Watch File for Changes | Tool to subscribe to push notifications for changes to a specific file. Use when you need to monitor a file for modifications and receive real-time notifications at a webhook URL. |

## Supported Triggers

| Trigger slug | Name | Description |
|---|---|---|
| `GOOGLEDRIVE_COMMENT_ADDED_TRIGGER` | Comment Added (Docs/Sheets/Slides) | Triggers when a new comment is added to Google Docs, Sheets, or Slides. |
| `GOOGLEDRIVE_FILE_CREATED_TRIGGER` | File Created | Triggers when a new file is created in Google Drive. |
| `GOOGLEDRIVE_FILE_DELETED_OR_TRASHED_TRIGGER` | File Deleted or Trashed | Triggers when a file is moved to trash or permanently deleted in Drive. |
| `GOOGLEDRIVE_FILE_SHARED_PERMISSIONS_ADDED` | File Shared (Permissions Added) | Triggers when new sharing permissions are granted to a file or folder. Uses Drive's `changes.list` endpoint with inline `permissions` in the `fields` mask so each change carries the file's current permission set provider-atomically. We diff that against `seen_permission_keys` to identify newly added grants. Drive page tokens are the primary cursor; if Drive rejects a stored token, the trigger raises `PollingTriggerError` without clearing state rather than silently re-baselining and dropping events. Limitation: truly ephemeral permissions (added and revoked between two polls without any other file modification in between) are not detected. Drive Activity API would catch those but requires an additional OAuth scope and a different payload contract. |
| `GOOGLEDRIVE_FILE_UPDATED_TRIGGER` | File Updated | Triggers when a file's metadata or content changes in Google Drive. |
| `GOOGLEDRIVE_GOOGLE_DRIVE_CHANGES` | Google Drive Changes | Triggers when changes are detected in a Google Drive. |
| `GOOGLEDRIVE_NEW_FILE_MATCHING_QUERY_TRIGGER` | New File Matching Query | Triggers when a new Google Drive file matches a provided query. This is the legacy query-centric trigger: it preserves Drive API query config such as ``corpora`` / ``driveId`` aliases and emits the historical ``file_matching_query`` event type. ``FileCreatedTrigger`` covers the broader "new file" case and emits ``file_created``. |

## Creating MCP Server - Stand-alone vs Composio SDK

The Google Drive MCP server connects Claude Cowork to your Google Drive account through Composio. Once connected, Cowork can use the available Google Drive tools and triggers to complete tasks on your behalf.

## Complete Code

None listed.

## How to build Google Drive MCP Agent with another framework

- [ChatGPT](https://composio.dev/toolkits/googledrive/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/googledrive/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/googledrive/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/googledrive/framework/claude-code)
- [Codex](https://composio.dev/toolkits/googledrive/framework/codex)
- [Cursor](https://composio.dev/toolkits/googledrive/framework/cursor)
- [VS Code](https://composio.dev/toolkits/googledrive/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/googledrive/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/googledrive/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/googledrive/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/googledrive/framework/cli)
- [Google ADK](https://composio.dev/toolkits/googledrive/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/googledrive/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/googledrive/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/googledrive/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/googledrive/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/googledrive/framework/crew-ai)

## Related Toolkits

- [Google Docs](https://composio.dev/toolkits/googledocs) - Google Docs is a cloud-based word processor that enables document creation and real-time collaboration. Its seamless sharing and version history make team editing and content management a breeze.
- [Google Super](https://composio.dev/toolkits/googlesuper) - Google Super is an all-in-one suite combining Gmail, Drive, Calendar, Sheets, Analytics, and more. It gives you a unified platform to manage your digital life, boosting productivity and organization.
- [Affinda](https://composio.dev/toolkits/affinda) - Affinda is an AI-powered document processing platform that automates data extraction from resumes, invoices, and more. It streamlines document-heavy workflows by turning files into structured, actionable data.
- [Agility cms](https://composio.dev/toolkits/agility_cms) - Agility CMS is a headless content management system for building and managing digital experiences across platforms. It lets teams update content quickly and deliver omnichannel experiences with ease.
- [Algodocs](https://composio.dev/toolkits/algodocs) - Algodocs is an AI-powered platform that automates data extraction from business documents. It delivers fast, secure, and accurate processing without templates or manual training.
- [Api2pdf](https://composio.dev/toolkits/api2pdf) - Api2Pdf is a REST API for generating PDFs from HTML, URLs, and documents using powerful engines like wkhtmltopdf and Headless Chrome. It streamlines document conversion and automation for developers and businesses.
- [Aryn](https://composio.dev/toolkits/aryn) - Aryn is an AI-powered platform for parsing, extracting, and analyzing data from unstructured documents. Use it to automate document processing and unlock actionable insights from your files.
- [Boldsign](https://composio.dev/toolkits/boldsign) - Boldsign is a digital eSignature platform for sending, signing, and tracking documents online. Organizations use it to automate agreements and manage legally binding workflows efficiently.
- [Boloforms](https://composio.dev/toolkits/boloforms) - BoloForms is an eSignature platform built for small businesses, offering unlimited signatures, templates, and forms. It simplifies digital document signing and team collaboration at a predictable, fixed price.
- [Box](https://composio.dev/toolkits/box) - Box is a cloud content management and file sharing platform for businesses. It helps teams securely store, organize, and collaborate on files from anywhere.
- [Carbone](https://composio.dev/toolkits/carbone) - Carbone is a blazing-fast report generator that turns JSON data into PDFs, Word docs, spreadsheets, and more using flexible templates. It lets you automate document creation at scale with minimal code.
- [Castingwords](https://composio.dev/toolkits/castingwords) - CastingWords is a transcription service specializing in human-powered, accurate transcripts via a simple API. Get seamless audio-to-text conversion for interviews, meetings, podcasts, and more.
- [Cloudconvert](https://composio.dev/toolkits/cloudconvert) - CloudConvert is a powerful file conversion service supporting over 200 file formats. It streamlines converting, compressing, and managing documents, media, and more, all in one place.
- [Cloudlayer](https://composio.dev/toolkits/cloudlayer) - Cloudlayer is a document and asset generation service for creating PDFs and images via API or SDKs. It lets you automate high-quality doc creation, saving dev time and reducing manual work.
- [Cloudpress](https://composio.dev/toolkits/cloudpress) - Cloudpress is a content export tool for Google Docs and Notion. It automates publishing to your favorite Content Management Systems.
- [Contentful graphql](https://composio.dev/toolkits/contentful_graphql) - Contentful graphql is a content delivery API that lets you access Contentful data using GraphQL queries. It gives you efficient, flexible ways to fetch and manage structured content for any digital project.
- [Conversion tools](https://composio.dev/toolkits/conversion_tools) - Conversion Tools is an online service for converting documents between formats such as PDF, Word, Excel, XML, and CSV. It lets you automate complex document workflows with just a few clicks.
- [Convertapi](https://composio.dev/toolkits/convertapi) - ConvertAPI is a robust file conversion service for documents, images, and spreadsheets. It streamlines programmatic format changes and lets developers automate complex workflows with a single API.
- [Craftmypdf](https://composio.dev/toolkits/craftmypdf) - CraftMyPDF is a web-based service for designing and generating PDFs with templates and live data. It streamlines document creation by automating personalized PDFs at scale.
- [Docmosis](https://composio.dev/toolkits/docmosis) - Docmosis generates PDF and Word documents from user-defined templates. It's perfect for merging data fields to quickly produce reports, invoices, and business letters.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Google Drive MCP?

With a standalone Google Drive MCP server, the agents and LLMs can only access a fixed set of Google Drive tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Google Drive and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Claude Cowork?

Yes, you can. Claude Cowork fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Google Drive tools.

### Can I manage the permissions and scopes for Google Drive while using Tool Router?

Yes, absolutely. You can configure which Google Drive scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Google Drive data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
