Skip to Content
TwinsGoogle Drive

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.

Coverswww.googleapis.com/drive/v3, drivemcp.googleapis.com
AuthGoogle OAuth access tokens
WebhooksYes
MCP tools8
Operations57

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_DENIED about unregistered callers, a write with no token is 401 Login Required., and a token that is present but wrong is 401 Invalid Credentials.
  • files.get with no fields returns four keys: kind, id, name, mimeType. Everything else is absent until you ask for it, and fields=* gets the full record. Most “the field is missing” bugs are this.
  • Shared-drive files are invisible unless you opt in. A files.get on one is a 404 until you send supportsAllDrives=true, and they stay out of files.list until you add includeItemsFromAllDrives=true as well.
  • Some parameter checks run before the lookup. files.export with no mimeType reports 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.