Google Drive MCP server icon

Google Drive

by Google Drive

Productivity8 tools

Google's own remote MCP server for Drive. Search files, read documents, inspect sharing, and upload new files from an AI assistant. 8 tools, 6 read-only, none annotated destructive, and nothing that overwrites an existing file.

Verified connector

Listed by Anthropic as a partner connector in its Connectors Directory.

Connection checked by Agentman on .

Anthropic states this reflects the level of review a connector received, not a security audit.

Connect Google Drive via MCP

https://drivemcp.googleapis.com/mcp/v1

Works in any MCP-compatible client. In Agentman Studio it is one click — no config file to edit.

Google Drive Tools & Capabilities (8)

copy_fileActs

Call this tool to copy an existing File in Google Drive. The tool allows specifying a new title and a parent folder for the copy. If the title is not specified, the copy title will be 'Copy of {original title}'If the parent folder is not specified, the copy will be created in the same folder as the original file, unless the requesting user does not have write access to that folder, in which case the copy will be created in the user's root folder.Returns the newly created File object upon successful copying.

create_fileActs

Call this tool to create or upload a File to Google Drive. If uploading content, prefer "text_content" for text content. For non-UTF8 contents, use the "base64_content" field and base64 encode the data to set on that field. Returns a single File object upon successful creation. The following Google first-party mime types can be created without providing content: - `application/vnd.google-apps.document` - `application/vnd.google-apps.spreadsheet` - `application/vnd.google-apps.presentation` Folders can be created by setting the mime type to `application/vnd.google-apps.folder`. When uploading content, the `content_mime_type` field is required and should match the type of the content being uploaded. By default, supported content will be converted to Google first-party mime types. To disable conversions for first-party mime types, set `disable_conversion_to_google_type` to true.

download_file_contentRead-only

Call this tool to download the content of a Drive file as a base64 encoded string. If the file is a Google Drive first-party mime type, the `exportMimeType` field is required and will determine the format of the downloaded file. If the file is not found, try using other tools like `search_files` to find the file the user is requesting. If the user wants a natural language representation of their Drive content, use the `read_file_content` tool (`read_file_content` should be smaller and easier to parse).

get_file_metadataRead-only

Call this tool to find general metadata about a user's Drive file. If the file is not found, try using other tools like `search_files` to find the file the user is requesting.

get_file_permissionsRead-only

Call this tool to list the permissions of a Drive File.

list_recent_filesRead-only

Call this tool to find recent files for a user specified a sort order. Default sort order is `recency`. Supported sort orders are: - `recency`: The most recent timestamp from the file's date-time fields. - `lastModified`: The last time the file was modified by anyone. - `lastModifiedByMe`: The last time the file was modified by the user. The default page size is 10. Utilize `next_page_token` to paginate through the results.

read_file_contentRead-only

Call this tool to fetch a natural language representation of a known Drive file, and if specified, its comments. REQUIREMENTS & WORKFLOW: - `fileId` is required. You MUST pass an exact Drive file ID returned by a previous discovery tool (`search_files` or `list_recent_files`) or provided explicitly in the user prompt. - NEVER guess, invent, or hallucinate a `fileId` string from a file title or name. - If given a file title, name, or topic without an explicit `fileId`, you MUST FIRST call `search_files` to find the file and retrieve its `fileId` before invoking this tool. The file content may be incomplete for very large files. The text representation will change over time, so don't make assumptions about the particular format of the text returned by this tool. If supported and specified, comment tags will be included in the content. Supported Mime Types: - `application/vnd.google-apps.document` (supports comments) - `application/vnd.google-apps.presentation` (supports comments) - `application/vnd.google-apps.spreadsheet` (supports comments) - `application/pdf` - `application/msword` - `application/vnd.openxmlformats-officedocument.wordprocessingml.document` - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` - `application/vnd.openxmlformats-officedocument.presentationml.presentation` - `application/vnd.oasis.opendocument.spreadsheet` - `application/vnd.oasis.opendocument.presentation` - `application/x-vnd.oasis.opendocument.text` - `image/png` - `image/jpeg` - `image/jpg` If the file is not found, try using other tools like `search_files` to find the file the user is requesting using keywords.

search_filesRead-only

Search for Drive files using a structured query (syntax: `query_term operator values`). Only terms in this list are supported. Combine clauses with `and`, `or`, `not`, and parentheses. String values must be single-quoted; escape embedded quotes as `\'`. Do NOT include document type terms (e.g., 'presentation', 'slides', 'deck', 'document', 'doc', 'spreadsheet', 'sheet', 'pdf', 'folder') inside `title contains '...'` or `fullText contains '...'` clauses. Separate title keywords from file type terms. Instead map them to `mimeType` clauses in the query (e.g., 'slides' -> `mimeType = 'application/vnd.google-apps.presentation'`). Query terms & operators: - `title` (ops: contains, =, !=) — file title - `fullText` (ops: contains) — title or body text - `mimeType` (ops: contains, =, !=) — MIME type - `modifiedTime`, `viewedByMeTime`, `createdTime` (ops: `<=`, `<`, `=`, `!=`, `>`, `>=`). Use RFC 3339 UTC, e.g., `2012-06-04T12:00:00-08:00`. Date types not comparable. - `parentId` (ops: `=`, `!=`). Use `'root'` for the user's "My Drive". - `owner` (ops: `=`, `!=`). Use `'me'` for the requesting user. - `sharedWithMe` (ops: `=`, `!=`). Values: `true` or `false`. Other operators: `and`, `or`, `not`. Examples: - `title contains 'hello' and title contains 'goodbye'` - `modifiedTime > '2024-01-01T00:00:00Z' and (mimeType contains 'image/' or mimeType contains 'video/')` - `parentId = '1234567'` - `fullText contains 'hello'` - `owner = 'test@example.org'` - `sharedWithMe = true` - `owner = 'me'` (for files owned by the user) Use `next_page_token` to paginate. An empty response means no more results.

Read from the server on 2026-08-18, including each tool's own safety annotations.

Limits

  • The risk here is exfiltration, not destruction. Nothing on this server deletes, overwrites, renames, moves or unshares. What it does do is read full document text, comment threads, content snippets and the email addresses of everyone a file is shared with. Scope your review of this connector to where that data goes, not to what might break.
  • get_file_permissions returns third-party personal data. Google's reference page states the response carries each grantee's emailAddress and displayName. A read-only annotation says the call changes nothing; it does not say the output is harmless in a log, a prompt or a summary.
  • Content snippets are on by default. search_files, list_recent_files and get_file_metadata all return a generated contentSnippet unless you set excludeContentSnippets: true. An agent that never sets it sees fragments of file contents on every listing call, which is the permissive end of a parameter that is really an access control.
  • drive.readonly is a restricted, whole-Drive scope. Google's own classification, and its own description is "View and download all your Drive files". There is no per-folder or per-shared-drive narrowing anywhere in the flow. You grant read of everything or you do not connect.
  • The server advertises the full drive scope; the docs never ask for it. The RFC 9728 descriptor at /.well-known/oauth-protected-resource/mcp/v1 lists drive, drive.readonly and drive.file, while both Google setup pages name only the latter two. Grant the documented pair — no tool on this surface modifies an existing file, so nothing needs the full scope.
  • Both writing tools are idempotentHint: false. A retry after a client-side timeout creates a second file. Nothing is overwritten, so nothing is lost, but an agent framework's default retry-on-timeout will leave duplicates and no tool on this server can clean them up.
  • read_file_content may silently return partial content, in an unstable format. Its own schema says content may be incomplete for very large files, with no documented threshold and no truncation flag in the response, so an assistant cannot tell a whole document from most of one. The same schema states the text representation will change over time. Do not build parsing on it.
  • A file created in a shared folder inherits that folder's sharing. create_file takes a parentId and nothing on the server reports or changes a folder's permissions before writing into it. Adding a file is not the same as adding it privately.
  • Three directory-listed tools are not callable. share_file, trash_file and update_file appear in Anthropic's listing and are corroborated as real names by the server's own per-tool descriptor, yet none is returned by tools/list and none has a Google reference page. If a shared or trashed file matters to your workflow, this connector does not do it today.
  • Prompt injection is Google's own stated risk, not ours. Google's Workspace MCP security page states that MCP clients have access to powerful tools and APIs enabling them to "read, modify, and delete data in your Google Account", warns about indirect prompt injection from untrusted data, and requires you to screen prompts and responses using its Model Armor service or a documented equivalent. On a connector whose input is document text written by other people, that warning is load-bearing — even though this particular tool surface cannot itself delete anything.
  • This is a Developer Preview. Every Google page cited here carries the Google Workspace Developer Preview Program banner. Preview features can change or be withdrawn.
  • We never read a Drive. Our verification was an anonymous tools/list, which returns tool definitions and no file content. We additionally called one zero-argument read-only tool with no credential to confirm the gate; it returned HTTP 401 with a missing-credential message and no data. No authenticated call was made, no file was read or created, and no permission was inspected.

Frequently asked questions

Is any Google Drive MCP tool annotated destructive?

No. A live tools/list on 2026-08-18 returned 8 tools and every one carries destructiveHint false. Six are read-only and idempotent; two write, and both only add. That is the opposite of Google's Gmail MCP server, where 8 of 21 tools are annotated destructive, and it follows from what the two writing tools do.

Can the Google Drive MCP server overwrite or delete my files?

No tool on the live server can. The complete union of inputs across all 8 tools contains no fileId on either writing tool, so create_file and copy_file cannot target an existing file. There is no delete, no trash, no rename and no move. The worst outcome is clutter: duplicate files you did not intend.

What is the difference between read_file_content and download_file_content?

read_file_content returns a natural language text rendering of a document and can inline its comment threads. download_file_content returns the raw bytes as a base64 string, and needs an exportMimeType for Google native formats. Google's own schema tells the model to prefer read_file_content because the result is smaller and easier to parse.

Does get_file_permissions expose other people's email addresses?

Yes. Google's reference page for the tool states the response lists each permission's role, type, emailAddress and displayName. So one read-only call about a shared file returns the addresses and names of the colleagues, contractors or external parties who can open it. Treat its output as third-party personal data, not file metadata.

Which OAuth scopes does the Google Drive MCP server need?

Google's setup pages name two: drive.readonly and drive.file. Google classifies drive.readonly as a restricted scope meaning view and download all your Drive files, with no per-folder narrowing. The server's own RFC 9728 descriptor additionally advertises the full drive scope, which Google's setup instructions never ask you to add.

Why does Anthropic's directory list 11 Google Drive tools when 8 are live?

The three extras are share_file, trash_file and update_file. They are not fabrications: the server's per-tool OAuth descriptor answers HTTP 200 for all three while a made-up name returns 404, so the server knows them. They are simply not exposed by tools/list at this endpoint, and Google documents no reference page for any of them.

Why do only the two writing tools carry openWorldHint true?

Because create_file and copy_file are the only tools whose result is not determined by your Drive alone. Both can trigger Google's server-side conversion into Docs, Sheets or Slides format, and copy_file relocates to your root folder when you lack write access to the original parent. The six reads query fixed state and are annotated false.

Sources

Use in Agentman

Connect once and your agents call these tools on their own — on a schedule, in a workflow, with nobody at the keyboard.

Open in Agentman Studio

Server Info

Category
Productivity
Developer
Google Drive
Tools
8
Domain
drivemcp.googleapis.com

Using Claude Desktop or another MCP client? Setup docs — the connection URL above works anywhere.