Hosted MCP server · #58 most used on Smithery · ✓ verified

Google Drive

googledrive

Search Google Drive, upload and download files, create folders, move and rename items, and manage sharing and file permissions.

Uses
8.1k
Tools
18
Runs
Hosted
Listed
12mo ago

Get started

Add it to your agent

npx -y @smithery/cli@latest install googledrive --client claude

Swap --client claude for cursor, vscode, windsurf or another client. The CLI asks for any required settings.

What it can do

18 tools

Arcade_ListAppsSee the apps the current caller can act on and whether they are connected. Returns each app's id, name, connected state, and (when connec…

See the apps the current caller can act on and whether they are connected. Returns each app's id, name, connected state, and (when connected) the account it is connected as. Call this to answer "what apps do I have?" or when the caller's connection state may have changed since the session started.

GoogleDrive_CheckFileAccess1 paramCheck whether this app can already read each of several Drive files, in one batched pre-flight call, before attempting to read them. Use …

Check whether this app can already read each of several Drive files, in one batched pre-flight call, before attempting to read them. Use this when the user references multiple files so any that are not yet accessible can be granted together in a single picker step, instead of hitting a separate access error and grant prompt for each one. Each input may be a bare file id or a full Google Drive/Workspace URL (documents, spreadsheets, slides, PDFs, images, folders — any type). Returns ``files`` (a

ParameterTypeDescription
filesarrayThe files to check access for, each given as a bare Drive file id or a full Google Drive/Workspace URL (the id is extracted from the URL). Provide at most 50 per call; split larger lists across multip
GoogleDrive_CreateFolder3 paramsCreate a new folder in Google Drive. By default, parent folder paths are resolved in My Drive. For shared drives, use folder IDs or provi…

Create a new folder in Google Drive. By default, parent folder paths are resolved in My Drive. For shared drives, use folder IDs or provide shared_drive_id.

ParameterTypeDescription
folder_namestringThe name of the new folder to create
shared_drive_idstringIf creating in a shared drive and using a parent folder path, provide the shared drive ID. Not needed when using folder IDs or creating in My Drive. Defaults to None.
parent_folder_path_or_idstringThe parent folder path like folder/subfolder or folder ID where to create. If None, creates at the root of My Drive. If providing a path, it will be resolved within My Drive by default. Do not include
GoogleDrive_DownloadFile2 paramsDownload a blob file (non-workspace file) from Google Drive as base64 encoded content. For small files (under ~5MB raw), returns the file…

Download a blob file (non-workspace file) from Google Drive as base64 encoded content. For small files (under ~5MB raw), returns the file content directly in the response as base64. For large files, returns metadata with requires_chunked_download=True - use download_file_chunk to retrieve the file in parts. By default, paths are resolved in My Drive. For shared drives, use file IDs or provide shared_drive_id.

ParameterTypeDescription
file_path_or_idstringThe file path like folder/subfolder/filename or the file ID of the file to download Folders NOT supported. If providing a path, it will be resolved within 'My Drive' by default.
shared_drive_idstringIf the file is in a shared drive and using a path, provide the shared drive ID. Not needed when using file IDs. Defaults to None (uses 'My Drive').
GoogleDrive_DownloadFileChunk4 paramsDownload a specific byte range of a file from Google Drive. Use this for large files that require chunked download (when download_file re…

Download a specific byte range of a file from Google Drive. Use this for large files that require chunked download (when download_file returns requires_chunked_download=True). Call repeatedly with increasing start_byte values to retrieve the complete file. Returns the chunk content as base64, along with progress information including whether this is the final chunk.

ParameterTypeDescription
chunk_sizeintegerThe size of the chunk to download in bytes. Max 5MB (5242880). Defaults to 5MB (5242880).
start_byteintegerThe starting byte position for this chunk (0-indexed).
file_path_or_idstringThe file path like folder/subfolder/filename or the file ID to download a chunk from. If providing a path, it will be resolved within 'My Drive' by default.
shared_drive_idstringIf the file is in a shared drive and using a path, provide the shared drive ID. Not needed when using file IDs. Defaults to None (uses 'My Drive').
GoogleDrive_GenerateGoogleFilePickerUrl1 paramGenerate a URL where the user can grant this app access to specific Drive files. Opens Google's first-party Drive picker. The user select…

Generate a URL where the user can grant this app access to specific Drive files. Opens Google's first-party Drive picker. The user selects which files to share with this application — it is not a sign-in or credential prompt. By default the picker shows files of all types; pass ``file_types`` to restrict it to specific types. Use this when a prior tool reported that a file was not found or access was denied, and the user expects the file to exist. After the user completes the picker flow, retry

ParameterTypeDescription
file_typesarrayRestrict the picker to these Google Drive file types. Defaults to None, which lets the user pick files of any type.
GoogleDrive_GetFileTreeStructure5 paramsGet the file/folder tree structure of the user's entire Google Drive. Very inefficient for large drives. Use with caution.
ParameterTypeDescription
limitintegerThe number of files and folders to list. Defaults to None, which will list all files and folders.
order_byarraySort order. Defaults to listing the most recently modified documents first
include_shared_drivesbooleanWhether to include shared drives in the file tree structure. Defaults to False.
restrict_to_shared_drive_idstringIf provided, only include files from this shared drive in the file tree structure. Defaults to None, which will include files and folders from all drives.
include_organization_domain_documentsbooleanWhether to include documents from the organization's domain. This is applicable to admin users who have permissions to view organization-wide documents in a Google Workspace account. Defaults to False
GoogleDrive_ListFilePermissions4 paramsList permissions on a Google Drive file or folder. Returns the individual people (and groups) with access and the current General access …

List permissions on a Google Drive file or folder. Returns the individual people (and groups) with access and the current General access (link sharing) state. `general_access` is computed across the ENTIRE file regardless of filtering -- so "is this doc public?" is always answered authoritatively. When `roles` is provided, `people` and `total_people` reflect only collaborators whose role matches the filter. Truncated collaborators beyond `limit` are not returned; `has_more` indicates whether tru

ParameterTypeDescription
limitintegerMaximum number of user/group collaborators to include in the `people` list (1-500). Regardless of this cap, `general_access` reflects the entire file. Defaults to 100.
rolesarrayFilter the `people` list to those holding one of these roles. For 'who can write?' pass [owner, writer]; for 'who can comment?' pass [owner, writer, commenter]. When provided, `total_people` reflects
file_path_or_idstringThe file path like folder/subfolder/filename or the file ID to inspect. If providing a path, it will be resolved within My Drive by default.
shared_drive_idstringIf the file is in a shared drive and using a path, provide the shared drive ID. Not needed when using file IDs. Defaults to None (uses My Drive).
GoogleDrive_MoveFile4 paramsMove a file or folder to a different folder within the same Google Drive. Can move to a folder (keeping name), or move and rename in one …

Move a file or folder to a different folder within the same Google Drive. Can move to a folder (keeping name), or move and rename in one operation. By default, paths are resolved in My Drive. For shared drives, use file IDs or provide shared_drive_id.

ParameterTypeDescription
new_filenamestringOptional new name for the file after moving. If None, keeps the original name. Defaults to None.
shared_drive_idstringIf working with paths in a shared drive, provide the shared drive ID. Not needed when using IDs. Defaults to None (uses My Drive).
source_file_path_or_idstringThe source file path like folder/subfolder/filename or the file ID of the file to move. If providing a path, it will be resolved within 'My Drive' by default.
destination_folder_path_or_idstringThe path to the file's parent folder (exclude the file to be moved) or parent folder ID to move the file into. If None, moves to the root of the drive. Defaults to None.
GoogleDrive_RemoveAllCollaborators4 paramsRemove all user collaborators (and optionally groups) from a Google Drive file. The file owner and the calling user are always preserved.…

Remove all user collaborators (and optionally groups) from a Google Drive file. The file owner and the calling user are always preserved. Groups are preserved by default because the Drive API cannot verify group membership -- pass include_groups=True to opt in. Inherited shared-drive permissions are never removable from the file level and are skipped. Use except_people to preserve additional people or groups by email or name. Ambiguous or unmatched except_people entries raise an error to avoid a

ParameterTypeDescription
except_peoplearrayEmails or names of people (or groups) to preserve. The file owner and the caller are always preserved automatically. Defaults to None (remove everyone else).
include_groupsbooleanWhether to also remove group permissions. Defaults to False because the Drive API does not expose group membership -- the tool cannot verify the caller isn't a member of a group it's about to delete,
file_path_or_idstringThe file path like folder/subfolder/filename or the file ID. If providing a path, it will be resolved within My Drive by default.
shared_drive_idstringIf the file is in a shared drive and using a path, provide the shared drive ID. Not needed when using file IDs. Defaults to None (uses My Drive).
GoogleDrive_RenameFile3 paramsRename a file or folder in Google Drive. By default, paths are resolved in My Drive. For files in shared drives, either use the file ID d…

Rename a file or folder in Google Drive. By default, paths are resolved in My Drive. For files in shared drives, either use the file ID directly or provide the shared_drive_id parameter.

ParameterTypeDescription
new_filenamestringThe new name for the file
file_path_or_idstringThe path like folder/subfolder/filename or the file ID to rename. If providing a path, it will be resolved within 'My Drive' by default.
shared_drive_idstringIf the file is in a shared drive and you're using a path (not ID), provide the shared drive ID to resolve the path within that drive. Not needed when using file IDs. Defaults to None (searches 'My Dri
GoogleDrive_RevokeFileAccess3 paramsRevoke access for specific people or groups on a Google Drive file. Identifies matches by email (exact, case-insensitive) or display name…

Revoke access for specific people or groups on a Google Drive file. Identifies matches by email (exact, case-insensitive) or display name. When an input matches multiple people, the clear matches are still revoked and the ambiguous input is surfaced in the `ambiguous` response field with candidate details so the agent can re-prompt the user for just the uncertain ones. Inputs that don't match any collaborator are returned in `not_found`. Pending-owner matches (mid-ownership-transfer) are skipped

ParameterTypeDescription
peoplearrayEmails or names of people (or groups) to remove access from. Emails match exactly; names use case-insensitive matching on display name, then first/last name token.
file_path_or_idstringThe file path like folder/subfolder/filename or the file ID. If providing a path, it will be resolved within My Drive by default.
shared_drive_idstringIf the file is in a shared drive and using a path, provide the shared drive ID. Not needed when using file IDs. Defaults to None (uses My Drive).
GoogleDrive_SearchDrive7 paramsSearch the user's entire Google Drive, including files they created or received directly in Drive — not only files created through this a…

Search the user's entire Google Drive, including files they created or received directly in Drive — not only files created through this app. Reads across the user's whole Drive, so it requires broad read access to their files. The provided 'query' should contain only the search terms; the tool builds the full Drive query for you, matching file names and contents.

ParameterTypeDescription
limitintegerThe maximum number of search results to return (1-50). Defaults to 20.
querystringThe terms to search for in Google Drive. The tool builds the full Drive query for you, matching file names and file contents — provide only the search terms, not Drive query syntax.
order_byarraySort order for search results. Defaults to listing the most recently modified documents first. If the query contains 'fullText', then the order_by will be ignored.
file_typesarrayFilter by specific file types. Defaults to None, which includes all file types.
shared_drive_idstringIf provided, search only within this shared drive. Defaults to None (searches My Drive and optionally all shared drives).
folder_path_or_idstringSearch only within this specific folder. Provide either a path like folder/subfolder or a folder ID. If None, searches across all accessible locations. Defaults to None.
include_shared_drivesbooleanIf True and shared_drive_id is not set, include all shared drives in search. Defaults to False (My Drive only).
GoogleDrive_SearchFiles8 paramsSearch for files in Google Drive. The provided 'query' should only contain the search terms. The tool will construct the full search quer…

Search for files in Google Drive. The provided 'query' should only contain the search terms. The tool will construct the full search query for you.

ParameterTypeDescription
limitintegerThe maximum number of search results to return. Defaults to 50.
querystringThe exact search query to send to the Google Drive API to find files in Google Drive. The tool will construct the query for you. Will search for filenames and file contents that match the provided que
order_byarraySort order for search results. Defaults to listing the most recently modified documents first. If the query contains 'fullText', then the order_by will be ignored.
file_typesarrayFilter by specific file types. Defaults to None, which includes all file types.
shared_drive_idstringIf provided, search only within this shared drive. Defaults to None (searches My Drive and optionally all shared drives).
folder_path_or_idstringSearch only within this specific folder. Provide either a path like folder/subfolder or a folder ID. If None, searches across all accessible locations. Defaults to None.
include_shared_drivesbooleanIf True and shared_drive_id is not set, include all shared drives in search. Defaults to False (My Drive only).
include_organization_domain_documentsbooleanWhether to include documents from the organization's domain. This is applicable to admin users who have permissions to view organization-wide documents in a Google Workspace account. Defaults to False
GoogleDrive_SetGeneralAccess5 paramsChange the 'General access' (link sharing) setting on a Google Drive file. Idempotent: calling with the same state as the current configu…

Change the 'General access' (link sharing) setting on a Google Drive file. Idempotent: calling with the same state as the current configuration is a no-op. When access is 'domain', the link is scoped to the caller's email domain -- NOT the file owner's domain. For cross-org collaboration (e.g., editing a file owned by another organization), confirm with the user which domain they intend before calling. Google will reject domain sharing for personal accounts (gmail.com, outlook.com, etc.) -- the

ParameterTypeDescription
rolestringThe role granted via the link when access is 'domain' or 'anyone'. Ignored when access is 'restricted'. Defaults to reader (view-only). Constrained to reader/commenter/writer -- Drive rejects owner an
accessstringThe new General access setting. 'restricted' removes link sharing, 'domain' shares with the caller's Google Workspace domain, 'anyone' makes it public with the link. Defaults to 'restricted'.
allow_discoverybooleanWhether the file should be discoverable through search. Only meaningful when access is 'domain' or 'anyone'. Defaults to False.
file_path_or_idstringThe file path like folder/subfolder/filename or the file ID. If providing a path, it will be resolved within My Drive by default.
shared_drive_idstringIf the file is in a shared drive and using a path, provide the shared drive ID. Not needed when using file IDs. Defaults to None (uses My Drive).
GoogleDrive_ShareFile6 paramsShare a file or folder in Google Drive with specific people by granting them permissions. If a user already has permission on the file, t…

Share a file or folder in Google Drive with specific people by granting them permissions. If a user already has permission on the file, their role will be updated to the new role. By default, paths are resolved in My Drive. For shared drives, use file IDs or provide shared_drive_id.

ParameterTypeDescription
rolestringThe permission role to grant. Defaults to reader (view-only).
messagestringOptional message to include in the notification email. Defaults to None.
email_addressesarrayList of email addresses like user@domain.com to share with
file_path_or_idstringThe file path like folder/subfolder/filename or the file ID to share. If providing a path, it will be resolved within My Drive by default.
shared_drive_idstringIf the file is in a shared drive and using a path, provide the shared drive ID. Not needed when using file IDs. Defaults to None (uses My Drive).
send_notification_emailbooleanWhether to send an email notification to the recipients. Defaults to True.
GoogleDrive_UploadFile5 paramsUpload a file to Google Drive from a URL. Fetches the file content from the provided URL and uploads it to Google Drive. Supports files o…

Upload a file to Google Drive from a URL. Fetches the file content from the provided URL and uploads it to Google Drive. Supports files of any size - uses resumable upload internally for large files. CANNOT upload Google Workspace files (Google Docs, Sheets, Slides) CANNOT upload files larger than 25MB

ParameterTypeDescription
file_namestringThe name for the uploaded file
mime_typestringThe file type. If not provided, will be inferred from the URL or Content-Type header. Supported: text (txt, csv, json, html, md), pdf, images (png, jpeg, gif). Defaults to None (auto-detect).
source_urlstringThe public download URL to fetch the file content from. The tool will download from this URL and upload to Google Drive
shared_drive_idstringIf uploading to a folder in a shared drive using a path, provide the shared drive ID. Not needed when using folder IDs or uploading to My Drive. Defaults to None ('My Drive')
destination_folder_path_or_idstringThe folder path like folder/subfolder or folder ID where to upload. If None, uploads to the root of 'My Drive'. If providing a path, it will be resolved within 'My Drive' by default. Defaults to None.
GoogleDrive_WhoAmIGet comprehensive user profile and Google Drive environment information. This tool provides detailed information about the authenticated …

Get comprehensive user profile and Google Drive environment information. This tool provides detailed information about the authenticated user including their name, email, profile picture, Google Drive storage information, the shared drives (and their IDs) the user has access to, and other important profile details from Google services.