# Drive capabilities 35 operations across MCP tools and REST methods. ⚠️ marks destructive operations (MCP `destructiveHint`): removals, sends, and standing side effects. | Operation | Source | Description | | --- | --- | --- | | [`search_files`](https://developers.google.com/workspace/drive/api/reference/mcp/tools_list/search_files) | MCP Tool | Search for Drive files with a structured query (`query_term operator values` clauses combined with and, or, not, and parentheses). | | [`list_recent_files`](https://developers.google.com/workspace/drive/api/reference/mcp/tools_list/list_recent_files) | MCP Tool | Find recent files for a user with a specified sort order (default recency, page size 10). | | [`get_file_metadata`](https://developers.google.com/workspace/drive/api/reference/mcp/tools_list/get_file_metadata) | MCP Tool | Retrieve general metadata about a user's Drive file. If the file cannot be located, use search_files to help identify the requested file. | | [`get_file_permissions`](https://developers.google.com/workspace/drive/api/reference/mcp/tools_list/get_file_permissions) | MCP Tool | List the permissions of a Drive file. | | [`read_file_content`](https://developers.google.com/workspace/drive/api/reference/mcp/tools_list/read_file_content) | MCP Tool | Fetch a natural language representation of a Drive file: Google Docs, Sheets, and Slides export as text, and text-like files (text, JSON, XML, SVG) return as UTF-8. Other types need download_file_content. If a file is not found, use search_files to locate it by keywords. | | [`download_file_content`](https://developers.google.com/workspace/drive/api/reference/mcp/tools_list/download_file_content) | MCP Tool | Download the content of a Drive file as a base64 encoded string. For Google Drive native file types, exportMimeType determines the output format (default text). For a natural language representation of Drive content, prefer read_file_content; if a file is not found, use search_files. | | [`create_file`](https://developers.google.com/workspace/drive/api/reference/mcp/tools_list/create_file) | MCP Tool | Create or upload a file to Drive. Supply text content as UTF-8 or base64-encode non-UTF8 data; text/plain converts to Google Docs and text/csv to Google Sheets unless disableConversionToGoogleType is set, and Google-native types (Docs, Sheets, Slides) can be created without content. | | [`copy_file`](https://developers.google.com/workspace/drive/api/reference/mcp/tools_list/copy_file) | MCP Tool | Copy an existing file in Drive, optionally with a new title and parent folder. With no title the copy is named 'Copy of [original title]'; with no parent it lands beside the original, or in the user's root folder if write access is unavailable. | | [`update_file`](https://developers.google.com/workspace/drive/api/reference/rest/v3/files/update) | REST Method | Update a file's metadata with patch semantics: rename, star, recolor a folder, edit the description, or move it between folders with addParents/removeParents. Only the fields populated in the request change. Trash and restore are trash_file and untrash_file; content updates are not exposed. | | [`trash_file`](https://developers.google.com/workspace/drive/api/reference/rest/v3/files/update) ⚠️ | REST Method | Move a file to the trash (files.update with trashed). Only the owner may trash a file; Drive purges trashed files after 30 days, and untrash_file restores them before that. delete_file bypasses the trash entirely. | | [`untrash_file`](https://developers.google.com/workspace/drive/api/reference/rest/v3/files/update) | REST Method | Restore a file from the trash (files.update with trashed false), the reversible pair of trash_file. Files already purged from the trash cannot be restored. | | [`delete_file`](https://developers.google.com/workspace/drive/api/reference/rest/v3/files/delete) ⚠️ | REST Method | Permanently delete a file owned by the user without moving it to the trash; if the target is a folder, all descendants owned by the user are also deleted. For the reversible path, use trash_file. In a shared drive the user must be an organizer on the parent folder. | | [`empty_trash`](https://developers.google.com/workspace/drive/api/reference/rest/v3/files/emptyTrash) ⚠️ | REST Method | Permanently delete all of the user's trashed files (or, with driveId, a shared drive's trash). Nothing emptied from the trash can be restored. | | [`list_comments`](https://developers.google.com/workspace/drive/api/reference/rest/v3/comments/list) | REST Method | List a file's comments, each with its full reply thread. | | [`get_comment`](https://developers.google.com/workspace/drive/api/reference/rest/v3/comments/get) | REST Method | Get a comment by ID, with its full reply thread. | | [`create_comment`](https://developers.google.com/workspace/drive/api/reference/rest/v3/comments/create) | REST Method | Create a comment on a file, anchored or unanchored. | | [`update_comment`](https://developers.google.com/workspace/drive/api/reference/rest/v3/comments/update) | REST Method | Update a comment's content with patch semantics. | | [`delete_comment`](https://developers.google.com/workspace/drive/api/reference/rest/v3/comments/delete) ⚠️ | REST Method | Delete a comment and its replies. | | [`list_replies`](https://developers.google.com/workspace/drive/api/reference/rest/v3/replies/list) | REST Method | List a comment's replies. | | [`get_reply`](https://developers.google.com/workspace/drive/api/reference/rest/v3/replies/get) | REST Method | Get a reply by ID. | | [`create_reply`](https://developers.google.com/workspace/drive/api/reference/rest/v3/replies/create) | REST Method | Reply to a comment, optionally resolving or reopening it with the action field (content is required when no action is specified). | | [`update_reply`](https://developers.google.com/workspace/drive/api/reference/rest/v3/replies/update) | REST Method | Update a reply's content with patch semantics. | | [`delete_reply`](https://developers.google.com/workspace/drive/api/reference/rest/v3/replies/delete) ⚠️ | REST Method | Delete a reply. | | [`list_revisions`](https://developers.google.com/workspace/drive/api/reference/rest/v3/revisions/list) | REST Method | List a file's revisions, newest last. The list might be incomplete for files with a large revision history (frequently edited Docs, Sheets, and Slides). | | [`get_revision`](https://developers.google.com/workspace/drive/api/reference/rest/v3/revisions/get) | REST Method | Get a revision's metadata by ID. | | [`update_revision`](https://developers.google.com/workspace/drive/api/reference/rest/v3/revisions/update) | REST Method | Update a revision with patch semantics: pin it with keepForever (binary content) or manage the publish flags (Docs Editors files). | | [`delete_revision`](https://developers.google.com/workspace/drive/api/reference/rest/v3/revisions/delete) ⚠️ | REST Method | Permanently delete a file version. Only revisions of files with binary content (like images or videos) can be deleted; Docs Editors revisions and the last remaining version cannot. | | [`list_shared_drives`](https://developers.google.com/workspace/drive/api/reference/rest/v3/drives/list) | REST Method | List the user's shared drives, optionally filtered with a search query. | | [`get_shared_drive`](https://developers.google.com/workspace/drive/api/reference/rest/v3/drives/get) | REST Method | Get a shared drive's metadata by ID. | | [`create_shared_drive`](https://developers.google.com/workspace/drive/api/reference/rest/v3/drives/create) | REST Method | Create a shared drive. Requires a Google Workspace edition that supports shared drives. | | [`update_shared_drive`](https://developers.google.com/workspace/drive/api/reference/rest/v3/drives/update) | REST Method | Update a shared drive's metadata with patch semantics: rename, retheme or recolor, or set its restrictions. | | [`delete_shared_drive`](https://developers.google.com/workspace/drive/api/reference/rest/v3/drives/delete) ⚠️ | REST Method | Permanently delete a shared drive for which the user is an organizer. The shared drive cannot contain any untrashed items. | | [`hide_shared_drive`](https://developers.google.com/workspace/drive/api/reference/rest/v3/drives/hide) | REST Method | Hide a shared drive from the default view. | | [`unhide_shared_drive`](https://developers.google.com/workspace/drive/api/reference/rest/v3/drives/unhide) | REST Method | Restore a shared drive to the default view. | | [`get_about`](https://developers.google.com/workspace/drive/api/reference/rest/v3/about/get) | REST Method | Get information about the user and the user's Drive: identity, storage quota and usage, the maximum upload size, and whether the user can create shared drives. |