Google Drive
Twin of the Google Drive API v3.
Twin of the Google Drive API v3. File content is real bytes and round-trips verbatim.
| Covers | www.googleapis.com/drive/v3, drivemcp.googleapis.com |
| Auth | Google OAuth access tokens |
| Webhooks | Yes |
| MCP tools | 8 |
| Operations | 57 |
Coverage
Files and folders, binary download with Range, export of native Docs-editors
files, simple, multipart and resumable uploads, permissions, comments, labels,
shared drives, and the changes feed with push channels. Uploads keep their own
/upload/drive/v3/files path on the same origin, and the hosted MCP server
answers on /mcp/v1.
Credentials
This twin issues no tokens of its own. It verifies the ones
Google Identity mints, so any well-formed ya29.…
token from there authenticates by default and your existing credentials need no
change. The auth.mode switch that restricts it to credentials the world knows
lives on Google Identity rather than here. See
Credentials.
Drive’s scopes are enforced. The metadata scope reads metadata fine and then gets a 403 the moment you ask for bytes.
Vendor specific details
- One missing credential produces three different failures. A read with no
token is
403 PERMISSION_DENIEDabout unregistered callers, a write with no token is401 Login Required., and a token that is present but wrong is401 Invalid Credentials. files.getwith nofieldsreturns four keys:kind,id,name,mimeType. Everything else is absent until you ask for it, andfields=*gets the full record. Most “the field is missing” bugs are this.- Shared-drive files are invisible unless you opt in. A
files.geton one is a404until you sendsupportsAllDrives=true, and they stay out offiles.listuntil you addincludeItemsFromAllDrives=trueas well. - Some parameter checks run before the lookup.
files.exportwith nomimeTypereports the missing parameter even when the file id does not exist.
Only native Docs-editors files export. Calling export on an uploaded binary is
a 403 fileNotExportable, not an empty download.
Its own notes
Once a sandbox is running, this twin serves its own operating notes at
{control_url}/veris/manual: the credentials it accepts, the API versions it
serves, and the fault statuses you can arm against it. They are generated from
the same source as its behaviour, so they cannot drift.