Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.chrischall/gogcli-mcp-drive

NPM · GOGCLI-MCP-DRIVE

Google Drive via gogcli for Claude — search, upload, download, permissions

Available components

0 this week 93 Trust /100

Last scanned (5 hours ago)

Scores higher than 96% of npm servers

Category Documents and Files

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 0 of 4 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to chrischall/gogcli-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability67
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 9793 tokens (~195/item across 50 items; 50 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 50 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 0
    • Stability: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Package version: 4.8.1 → 4.9.1 functional
  • 30 Oct 26 0
    • Package version: 4.8.0 → 4.8.1 functional
  • 28 Oct 26 0
    • Package version: 4.8.0 → 4.8.1 functional
  • 17 Oct 26 0
    • Stability: 0.97 → pass security
  • 16 Oct 26 +1
    • Stability: 0.93 → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Package version: 4.8.0 → 4.8.1 functional
  • 15 Oct 26 −1
    • Stability: pass → 0.93 functional
  • 14 Oct 26 +44
    • Injection markers: unverified → pass ▲ security
    • Stability: unverified → pass ▲ security
    • Tool coverage: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
  • 12 Oct 26 0
    • Security disclosure: unverified → fail ▼ functional
    • Package version: 4.6.1 → 4.8.0 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/gogcli-mcp-drive@4.9.1

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo chrischall/gogcli-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/chrischall/gogcli-mcp/.github/workflows/release-please.yml@refs/heads/main
Rekor log index 3691861023
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:c9c6cd67fa7716e70af5c7bfd26d2a86bb3e93c3b15526fbd5c59f4002615e75015fd6898a30ceec145846941cd24deaa3d706f280a5f680b51d50153

Background: How many MCP packages publish verified provenance →

Dependencies 4 packages
Packages resolved 4
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 50 exposed · ~9,793 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
gog_auth_add ~259

Authorize a Google account via browser-based OAuth. Opens a browser window where the user must sign in and grant access. Blocks for up to 5 minutes waiting for the user to complete authorization. If the browser does not open automatically, a fallback URL is included in the response. Use gog_auth_list to check which accounts are already configured.

NameTypeReqDescription
emailstringyesGoogle account email to authorize
extraScopesstring–Additional raw OAuth scope URIs to request, comma-separated, on top of the ones `services` implies. Use for scopes no service covers — e.g. https://www.googleapis.com/auth/bigquery.readonly, required…
servicesstring–Services to authorize: "all" or comma-separated list (e.g. "sheets,gmail,calendar"). Default: "drive,driveactivity,drivelabels". Prefer the narrowest set you need — requesting a service whose Google…

No output schema declared.

No examples provided.

gog_auth_add_complete ~219

Complete REMOTE/headless Google authorization (step 2 of 2). Takes the full redirected localhost URL the user copied after finishing gog_auth_add_url, exchanges it for a refresh token, and stores it. Use the SAME `services` value you passed to gog_auth_add_url. Must run within 10 minutes of step 1 and against the same gogcli host.

NameTypeReqDescription
emailstringyesGoogle account email being authorized (same as step 1)
extraScopesstring–Extra OAuth scope URIs — MUST match the value passed to gog_auth_add_url, for the same reason `services` must: the two steps have to describe the same grant.
redirectUrlstringyesThe full localhost redirect URL the user copied from the browser address bar after signing in (contains code and state; the page itself fails to load, which is expected).
servicesstring–Services authorized — MUST match the value passed to gog_auth_add_url. Default: "drive,driveactivity,drivelabels".

No output schema declared.

No examples provided.

gog_auth_add_url ~345

Begin REMOTE/headless Google authorization (step 1 of 2). Returns a sign-in URL to open in any browser — no local server or terminal on the gogcli host is needed, so this works on a hosted deployment where the interactive gog_auth_add cannot. Hand the URL to the user; after they sign in, the browser is redirected to a localhost URL that fails to load — that is expected. They copy that full redirected URL (from the address bar) and you pass it to gog_auth_add_complete. The link is valid for 10 minutes. If you pass a custom `services` here, pass the SAME value to gog_auth_add_complete or the second step will not match this one.

NameTypeReqDescription
emailstringyesGoogle account email to authorize
extraScopesstring–Additional raw OAuth scope URIs to request, comma-separated, on top of the ones `services` implies. Use for scopes no service covers — e.g. https://www.googleapis.com/auth/bigquery.readonly, required…
servicesstring–Services to authorize: "all" or comma-separated list (e.g. "sheets,gmail,calendar"). Default: "drive,driveactivity,drivelabels". Prefer the narrowest set you need — requesting a service whose Google…

No output schema declared.

No examples provided.

gog_auth_health ~198

Check the LIVE health of each stored Google account. Unlike gog_auth_status (which only reports keyring/config setup), this performs a real token refresh against Google, so it detects expired or revoked (invalid_grant) refresh tokens — the account-wide sign-out that blocks every service. Reports per account: whether the token is currently valid, the mapped cause when it is not, how long ago it was authorized, and a warning as it approaches the 7-day refresh-token limit that applies to OAuth apps whose consent screen is still in "Testing" mode. Run it proactively to re-authorize on your own schedule instead of mid-task. On a hosted deployment this is the ONLY check that measures Google: a connector showing "connected" or "refreshed" has verified the client's connection to the MCP host, and nothing else — the Google credential lives in gog's keyring on that host and can be dead while the connection looks perfectly healthy.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gog_auth_list ~81

List the Google accounts stored in gogcli, with their scopes. This reads local configuration only — it does not contact Google and does NOT tell you whether an account still works: a signed-out account whose refresh token expired or was revoked is listed here exactly like a healthy one, scopes and all. Use gog_auth_health to check whether an account can actually authenticate.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gog_auth_run ~230

Run any gog auth subcommand not covered by the other tools. Run `gog auth --help` for the full list of subcommands, or `gog auth <subcommand> --help` for flags on a specific subcommand. Only these subcommands are available: list, status, services, alias. Flags that override server safety controls (--readonly, --enable-commands, --disable-commands, --account, --access-token, --home, --client, --gmail-no-send, --no-input) and a bare "--" are refused. Local file paths (--out, --out-dir, --attach, --file, --*-file, @file JSON) must be inside GOG_FILE_ROOTS; subcommands that take a local path positionally (e.g. drive upload) are refused in favour of their dedicated tools. For browser-based authorization, use gog_auth_add instead.

NameTypeReqDescription
argsarrayyesAdditional positional args and flags
subcommandstringyesThe gog auth subcommand to run, e.g. "alias", "list", "status"

No output schema declared.

No examples provided.

gog_auth_services ~24

List all Google services supported by gogcli and the OAuth scopes each requires.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gog_auth_status ~66

Show gogcli auth CONFIGURATION: keyring backend, credential files, and auth setup. Despite the name this is not a health check — it reads local setup and does not contact Google, so it says nothing about whether an account can still authenticate. Use gog_auth_health for that.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gog_drive_activity ~324

Query the Drive Activity API for audit events (edits, creates, deletes, moves, shares, etc.) scoped to a file or folder and/or time range.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
actionsstring–Comma-separated action filters: edit,create,delete,move,rename,restore,comment,share,label,dlp,reference,settings
allboolean–Fetch all pages
consolidateboolean–Use Drive Activity legacy consolidation strategy
filestring–Drive file ID to query
filterstring–Raw Drive Activity filter expression appended with AND
folderstring–Drive folder ID; includes descendants
fromstring–Lower activity time bound (RFC3339)
maxnumber–Page size (default: 10)
pagestring–Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response.
pageTokenstring–Cursor for the NEXT page. Pass back the nextPageToken from a previous response verbatim, keeping the query and max identical: call once, then call again with pageToken=<that value>. A response with N…
tostring–Upper activity time bound (RFC3339)

No output schema declared.

No examples provided.

gog_drive_audit_sharing ~229

Audit Drive sharing without mutation — find public (anyone-with-link) or external permissions across a folder tree or a single file.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
depthnumber–Max folder depth (0 = unlimited; default: 2)
externalOnlyboolean–Only report external user/group/domain permissions
filestring–Audit one file ID instead of a folder tree
internalDomainarray–Domains treated as internal (defaults to account email domain)
maxnumber–Max files/folders to scan (0 = unlimited; default: 500)
noAllDrivesboolean–My Drive only — exclude shared drives (shared drives are included by default)
parentstring–Folder ID to scan (default: root)
publicOnlyboolean–Only report anyone-with-link/public permissions

No output schema declared.

No examples provided.

gog_drive_audit_user ~189

Audit Drive sharing without mutation — find permissions granted to a specific user across a folder tree or a single file.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
depthnumber–Max folder depth (0 = unlimited; default: 2)
filestring–Audit one file ID instead of a folder tree
maxnumber–Max files/folders to scan (0 = unlimited; default: 500)
noAllDrivesboolean–My Drive only — exclude shared drives (shared drives are included by default)
parentstring–Folder ID to scan (default: root)
userstringyesUser email to audit permissions for

No output schema declared.

No examples provided.

gog_drive_changes_list ~253

List Drive changes since a page token (for sync/automation). Get the initial token from gog_drive_changes_start_token; the response includes a newStartPageToken to persist for the next poll.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
allboolean–Fetch all pages
drivestring–Shared drive ID for a shared-drive change log
includeRemovedboolean–Include removed changes
maxnumber–Max results (default: 100)
pagestring–Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response.
pageTokenstring–Cursor for the NEXT page. Pass back the nextPageToken from a previous response verbatim, keeping the query and max identical: call once, then call again with pageToken=<that value>. A response with N…
tokenstringyesStart page token or next page token

No output schema declared.

No examples provided.

gog_drive_changes_start_token ~98

Get a Drive changes start page token — the cursor you pass to gog_drive_changes_list to enumerate changes since this point.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
drivestring–Shared drive ID for a shared-drive change log

No output schema declared.

No examples provided.

gog_drive_comments_add ~363

Add a new comment to a Drive file. Drive notifies the file's owner and everyone the text +mentions, so this reads the file and asks the MCP host to show the user a confirmation prompt with the file, the text and who is mentioned first; nothing is posted unless they accept. If the client cannot show that prompt (no MCP elicitation, e.g. claude.ai), a two-step flow applies instead: call WITHOUT confirmToken and nothing is sent or changed — the result has status "confirmation-required", the full preview and a confirmToken. Follow its instruction (by default: show the preview to the user verbatim and only after they explicitly approve it in chat, call again with the SAME arguments plus confirmToken). The tool re-reads what it would act on and refuses (DRAFT_CHANGED, with a fresh preview and token) if it changed; TOKEN_EXPIRED / TOKEN_REUSED / TOKEN_INVALID also do nothing. A server set to MCP_CONFIRM_MODE=refuse refuses instead.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
confirmTokenstring–ONLY for the two-step confirmation fallback (a client without MCP elicitation). The confirmToken from this same tool's phase-1 "confirmation-required" response, passed back ONLY after the user has se…
contentstringyesComment text
fileIdstringyesFile ID

No output schema declared.

No examples provided.

gog_drive_comments_delete ~87

Delete a comment from a Drive file.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
commentIdstringyesComment ID to delete
fileIdstringyesFile ID

No output schema declared.

No examples provided.

gog_drive_comments_get ~88

Get a single comment on a Drive file by ID.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
commentIdstringyesComment ID
fileIdstringyesFile ID

No output schema declared.

No examples provided.

gog_drive_comments_list ~239

List comments on a Drive file.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
allboolean–Fetch all pages
fileIdstringyesFile ID
includeQuotedboolean–Include the quoted content each comment is anchored to
maxinteger–Max results
pagestring–Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response.
pageTokenstring–Cursor for the NEXT page. Pass back the nextPageToken from a previous response verbatim, keeping the query and max identical: call once, then call again with pageToken=<that value>. A response with N…
sincestring–Only return comments modified at or after this RFC3339 timestamp (e.g. 2026-06-01T00:00:00Z)

No output schema declared.

No examples provided.

gog_drive_comments_reopen ~108

Reopen a previously resolved comment on a Drive file. To reopen while replying, use gog_drive_comments_reply with action: "reopen".

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
commentIdstringyesComment ID to reopen
fileIdstringyesFile ID

No output schema declared.

No examples provided.

gog_drive_comments_reply ~436

Reply to an existing comment on a Drive file. Pass `action: "resolve"` or `"reopen"` to atomically flip the parent comment's resolved state via the Drive API's Reply.action field — avoids the older workaround of deleting the comment (which destroys review-thread context). Everyone on the thread and anyone the reply +mentions is notified, so this reads the file and the comment and asks the MCP host to show the user a confirmation prompt with both and the reply first; nothing is posted unless they accept. If the client cannot show that prompt (no MCP elicitation, e.g. claude.ai), a two-step flow applies instead: call WITHOUT confirmToken and nothing is sent or changed — the result has status "confirmation-required", the full preview and a confirmToken. Follow its instruction (by default: show the preview to the user verbatim and only after they explicitly approve it in chat, call again with the SAME arguments plus confirmToken). The tool re-reads what it would act on and refuses (DRAFT_CHANGED, with a fresh preview and token) if it changed; TOKEN_EXPIRED / TOKEN_REUSED / TOKEN_INVALID also do nothing. A server set to MCP_CONFIRM_MODE=refuse refuses instead.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
actionstring–Optional action on the parent comment alongside the reply
commentIdstringyesComment ID to reply to
confirmTokenstring–ONLY for the two-step confirmation fallback (a client without MCP elicitation). The confirmToken from this same tool's phase-1 "confirmation-required" response, passed back ONLY after the user has se…
contentstringyesReply text
fileIdstringyesFile ID

No output schema declared.

No examples provided.

gog_drive_comments_resolve ~113

Resolve a comment on a Drive file (mark as done) without posting a reply. To resolve while replying, use gog_drive_comments_reply with action: "resolve".

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
commentIdstringyesComment ID to resolve
fileIdstringyesFile ID

No output schema declared.

No examples provided.

gog_drive_comments_update ~97

Update the text of an existing comment.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
commentIdstringyesComment ID to update
contentstringyesNew comment text
fileIdstringyesFile ID

No output schema declared.

No examples provided.

gog_drive_copy ~103

Copy a Drive file to a new file with the given name.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdstringyesFile ID to copy
namestringyesName for the new copy
parentstring–Destination folder ID

No output schema declared.

No examples provided.

gog_drive_delete ~378

Move a Google Drive file to trash, or permanently delete it with permanent=true (irreversible). A permanent delete reads the file and asks the MCP host to show the user a confirmation prompt naming it first; nothing is deleted unless they accept. Moving to trash is recoverable and does not ask. If the client cannot show that prompt (no MCP elicitation, e.g. claude.ai), a two-step flow applies instead: call WITHOUT confirmToken and nothing is sent or changed — the result has status "confirmation-required", the full preview and a confirmToken. Follow its instruction (by default: show the preview to the user verbatim and only after they explicitly approve it in chat, call again with the SAME arguments plus confirmToken). The tool re-reads what it would act on and refuses (DRAFT_CHANGED, with a fresh preview and token) if it changed; TOKEN_EXPIRED / TOKEN_REUSED / TOKEN_INVALID also do nothing. A server set to MCP_CONFIRM_MODE=refuse refuses instead.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
confirmTokenstring–ONLY for the two-step confirmation fallback (a client without MCP elicitation). The confirmToken from this same tool's phase-1 "confirmation-required" response, passed back ONLY after the user has se…
fileIdstringyesFile ID to delete
permanentboolean–Permanently delete instead of moving to trash (irreversible; asks the user first)

No output schema declared.

No examples provided.

gog_drive_download ~179

Download a Drive file to the local filesystem. For Google Docs formats, specify an export format (pdf, csv, xlsx, pptx, txt, png, docx, md).

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdstringyesFile ID to download
formatstring–Export format for Google Docs: pdf, csv, xlsx, pptx, txt, png, docx, md (default: inferred)
outstring–Output file path (default: gogcli config dir)
overwriteboolean–Overwrite the output file if it already exists (gog refuses otherwise)

No output schema declared.

No examples provided.

gog_drive_drives_list ~205

List shared drives (Team Drives) accessible to the account.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
allboolean–Fetch all pages
maxnumber–Max results (default: 100, max allowed: 100)
pagestring–Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response.
pageTokenstring–Cursor for the NEXT page. Pass back the nextPageToken from a previous response verbatim, keeping the query and max identical: call once, then call again with pageToken=<that value>. A response with N…
querystring–Search query for filtering shared drives

No output schema declared.

No examples provided.

gog_drive_du ~175

Summarize Drive folder sizes (disk-usage style) starting from a folder.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
depthnumber–Depth for folder totals (default: 1)
maxnumber–Max folders to return (0 = unlimited; default: 50)
noAllDrivesboolean–My Drive only — exclude shared drives (shared drives are included by default)
orderstring–Sort order (default: desc)
parentstring–Folder ID to start from (default: root)
sortstring–Sort key (default: size)

No output schema declared.

No examples provided.

gog_drive_extract_text ~274

Extract readable TEXT from a Drive file — PDF, image, docx, or a native Google Doc — and return it to you directly (closing the webViewLink dead end). Accepts a Drive file id, including the id from gog_gmail_attachment's deliveredVia:"drive" response. For non-Docs it copies the file to a temporary Google Doc so Drive OCRs it (works for scanned PDFs too), exports plain text, then deletes the temp Doc. Operates entirely via the Drive API within the existing drive scope — no host filesystem, no scope widening. For a large file, page through with offset/maxChars.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdstringyesDrive file ID (e.g. the id returned by gog_gmail_attachment)
maxCharsinteger–Max characters to return (default: all from offset)
ocrLanguagestring–BCP-47 language hint for OCR of scanned/image PDFs (e.g. "en", "fr"). Optional.
offsetinteger–Character offset to start from (default: 0)

No output schema declared.

No examples provided.

gog_drive_get ~142

Get metadata for a Google Drive file.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdstringyesFile ID
viewstring–Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact (the default) drops thumbnailLink — a URL a model…

No output schema declared.

No examples provided.

gog_drive_labels_file_apply ~266

Apply or update a label on a Drive file, optionally setting field values. Each field flag takes "fieldId=value" entries (repeatable). selection/integer/date/user values may be comma-separated within one entry for multi-valued fields.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
datearray–Date fields as fieldId=YYYY-MM-DD[,YYYY-MM-DD] (repeatable)
fieldsJsonstring–Simple JSON object of fieldId to string/number/bool/string-array values
fileIdstringyesFile ID
integerarray–Integer fields as fieldId=123[,456] (repeatable)
labelIdstringyesLabel ID to apply
selectionarray–Selection fields as fieldId=choiceId[,choiceId] (repeatable)
textarray–Text fields as fieldId=value (repeatable)
unsetarray–Field IDs to unset (repeatable)
userarray–User fields as fieldId=email[,email] (repeatable)

No output schema declared.

No examples provided.

gog_drive_labels_file_list ~182

List labels applied to a Drive file.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdstringyesFile ID
maxnumber–Max results (default: 100)
pagestring–Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response.
pageTokenstring–Cursor for the NEXT page. Pass back the nextPageToken from a previous response verbatim, keeping the query and max identical: call once, then call again with pageToken=<that value>. A response with N…

No output schema declared.

No examples provided.

gog_drive_labels_file_remove ~88

Remove a label from a Drive file.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdstringyesFile ID
labelIdstringyesLabel ID to remove

No output schema declared.

No examples provided.

gog_drive_labels_get ~136

Get a single Drive label schema by name (e.g. "labels/abc123").

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
adminAccessboolean–Use admin access for Workspace admin accounts
languagestring–BCP-47 language code
namestringyesLabel schema name (e.g. labels/abc123)
viewstring–Label view (default: LABEL_VIEW_FULL)

No output schema declared.

No examples provided.

gog_drive_labels_list ~246

List Drive label schemas available to the account.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
adminAccessboolean–Use admin access for Workspace admin accounts
languagestring–BCP-47 language code
maxinteger–Max results
minimumRolestring–Minimum role filter (e.g. READER, APPLIER, ORGANIZER)
pagestring–Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response.
pageTokenstring–Cursor for the NEXT page. Pass back the nextPageToken from a previous response verbatim, keeping the query and max identical: call once, then call again with pageToken=<that value>. A response with N…
publishedOnlyboolean–Only list published labels
viewstring–Label view (default: LABEL_VIEW_BASIC)

No output schema declared.

No examples provided.

gog_drive_ls ~302

List files in a Google Drive folder (default: root).

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
allDrivesboolean–Include shared drives (default: true). Set false for My Drive only.
folderIdstring–Folder ID to list (default: root)
maxnumber–Max results (default: 20)
pagestring–Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response.
pageTokenstring–Cursor for the NEXT page. Pass back the nextPageToken from a previous response verbatim, keeping the query and max identical: call once, then call again with pageToken=<that value>. A response with N…
querystring–Drive query filter (e.g. "name contains 'budget'")
viewstring–Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact (the default) drops owners, parents, thumbnailLink…

No output schema declared.

No examples provided.

gog_drive_mkdir ~74

Create a new folder in Google Drive.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
namestringyesFolder name

No output schema declared.

No examples provided.

gog_drive_move ~90

Move a file to a different folder in Google Drive.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdstringyesFile ID to move
parentIdstringyesDestination folder ID

No output schema declared.

No examples provided.

gog_drive_permissions ~179

List permissions on a Drive file.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdstringyesFile ID
maxnumber–Max results (default: 100)
pagestring–Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response.
pageTokenstring–Cursor for the NEXT page. Pass back the nextPageToken from a previous response verbatim, keeping the query and max identical: call once, then call again with pageToken=<that value>. A response with N…

No output schema declared.

No examples provided.

gog_drive_read_bytes ~133

Fetch a Drive file's raw bytes and return them base64-encoded as an embedded resource — the generic fallback for callers that want the file itself (to parse locally) rather than extracted text. Files over 8 MiB are refused (checked before downloading). For readable text from a PDF, prefer gog_drive_extract_text.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdstringyesDrive file ID

No output schema declared.

No examples provided.

gog_drive_rename ~88

Rename a file or folder in Google Drive.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdstringyesFile or folder ID
newNamestringyesNew name

No output schema declared.

No examples provided.

gog_drive_revisions_get ~104

Get one revision of a Drive file by revision ID (metadata + export links). Find revision IDs with gog_drive_revisions_list.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdstringyesFile ID
revisionIdstringyesRevision ID

No output schema declared.

No examples provided.

gog_drive_revisions_list ~198

List a file's revision history — paged revision metadata plus provider export links for each revision.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
allboolean–Fetch all pages
fileIdstringyesFile ID
maxinteger–Max results
pagestring–Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response.
pageTokenstring–Cursor for the NEXT page. Pass back the nextPageToken from a previous response verbatim, keeping the query and max identical: call once, then call again with pageToken=<that value>. A response with N…

No output schema declared.

No examples provided.

gog_drive_run ~251

Run any gog drive subcommand not covered by the other tools. Run `gog drive --help` for the full list of subcommands, or `gog drive <subcommand> --help` for flags on a specific subcommand. Flags that override server safety controls (--readonly, --enable-commands, --disable-commands, --account, --access-token, --home, --client, --gmail-no-send, --no-input) and a bare "--" are refused. Local file paths (--out, --out-dir, --attach, --file, --*-file, @file JSON) must be inside GOG_FILE_ROOTS; subcommands that take a local path positionally (e.g. drive upload) are refused in favour of their dedicated tools.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
argsarrayyesAdditional positional args and flags
subcommandstringyesThe gog drive subcommand to run, e.g. "copy", "download", "permissions"

No output schema declared.

No examples provided.

gog_drive_search ~142

Search Google Drive files by full-text query.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
querystringyesSearch query
viewstring–Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact (the default) drops thumbnailLink — a URL a model…

No output schema declared.

No examples provided.

gog_drive_share ~411

Share a Google Drive file or folder. Granting access is the risk even though no email is sent (gog does not notify by default), so this reads the file and asks the MCP host to show the user a confirmation prompt naming it, who gets access and with what role; nothing is shared unless they accept. If the client cannot show that prompt (no MCP elicitation, e.g. claude.ai), a two-step flow applies instead: call WITHOUT confirmToken and nothing is sent or changed — the result has status "confirmation-required", the full preview and a confirmToken. Follow its instruction (by default: show the preview to the user verbatim and only after they explicitly approve it in chat, call again with the SAME arguments plus confirmToken). The tool re-reads what it would act on and refuses (DRAFT_CHANGED, with a fresh preview and token) if it changed; TOKEN_EXPIRED / TOKEN_REUSED / TOKEN_INVALID also do nothing. A server set to MCP_CONFIRM_MODE=refuse refuses instead.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
confirmTokenstring–ONLY for the two-step confirmation fallback (a client without MCP elicitation). The confirmToken from this same tool's phase-1 "confirmation-required" response, passed back ONLY after the user has se…
domainstring–Domain (required when to=domain)
emailstring–User email (required when to=user)
fileIdstringyesFile or folder ID
rolestring–Permission role (default: reader)
tostringyesShare target type

No output schema declared.

No examples provided.

gog_drive_shortcut_create ~134

Create a Drive shortcut to a file or folder inside a destination folder. Shortcuts are classified distinctly in listing/tree output and are never followed by tree scans.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
namestring–Shortcut name (default: the target's name)
parentstringyesDestination folder ID for the shortcut
targetIdstringyesFile or folder ID the shortcut points to

No output schema declared.

No examples provided.

gog_drive_sync_push ~208

Recursively push a local directory's contents into an existing Drive folder — uploads new files, updates changed ones (matched by name + MD5), and creates missing subfolders. One-way and additive: it never deletes anything on Drive. Use dryRun to preview the planned actions first.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
allDrivesboolean–Include shared drives (default: true; set false for My Drive only)
dryRunboolean–Preview the planned actions without making any changes
localPathstringyesLocal directory to push (its contents are mirrored into the parent folder). Must be inside the server's GOG_FILE_ROOTS directories (default ~/gogcli-mcp-files).
parentstringyesExisting destination Drive folder ID

No output schema declared.

No examples provided.

gog_drive_tree ~145

Print a read-only folder tree starting from a folder.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
depthnumber–Max depth (0 = unlimited; default: 2)
maxnumber–Max items to return (0 = unlimited; default: 0)
noAllDrivesboolean–My Drive only — exclude shared drives (shared drives are included by default)
parentstring–Folder ID to start from (default: root)

No output schema declared.

No examples provided.

gog_drive_unshare ~96

Remove a permission from a Drive file. Get the permissionId from gog_drive_permissions.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdstringyesFile ID
permissionIdstringyesPermission ID to remove

No output schema declared.

No examples provided.

gog_drive_upload ~733

Upload a file to Drive. Supply it EITHER as localPath (a path on the gog server's own filesystem — local stdio deployments only) OR as content (the bytes, base64-encoded, carried with the request), which is what works when this server runs remotely from you and no path you can name exists on it. Use replace to replace the content of an existing file (preserves link/permissions), or convert to auto-convert to a Google format. Pair replace with ifVersion to make the overwrite conditional: gog sends an atomic If-Match precondition and reports a conflict — applying nothing — if the file changed since you read it, instead of silently clobbering a concurrent edit. No read tool surfaces the version number: fetch it immediately before uploading with gog_drive_run { subcommand: "raw", args: ["<fileId>", "--fields=version"] } — it comes back as a JSON string, so pass it on as a number. Conditional replacement refuses Google Workspace files (Docs/Sheets/Slides), which have no replaceable binary content.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
contentstring–The file's bytes, base64-encoded (standard alphabet, with padding) — upload a file you hold without it existing anywhere on the gog server. This is the only route that works when the caller and gog s…
convertboolean–Auto-convert to native Google format based on file extension (create only)
convertTostring–Convert to a specific Google format: doc | sheet | slides (create only)
ifVersioninteger–Replace only if the Drive file is still at this version (requires replace). On mismatch nothing is written and gog reports a conflict — re-read the file and reapply your edit. Read the current versio…
keepRevisionForeverboolean–Keep the new head revision forever (binary files only)
localPathstring–Path to the file to upload, resolved ON THE GOG SERVER's filesystem — NOT this client's. Only usable when gog runs on the same machine you do (local stdio); on a hosted deployment (e.g. mcp-host) thi…
mimeTypestring–Override MIME type inference
namestring–Override filename (create) or rename target (replace)
parentstring–Destination folder ID (create only)
replacestring–Replace content of an existing Drive file ID (preserves link/permissions). Unconditional unless ifVersion is set.

No output schema declared.

No examples provided.

gog_drive_url ~85

Print shareable web URLs for one or more Drive files.

NameTypeReqDescription
accountstring–Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account.
fileIdsarrayyesOne or more file IDs to get URLs for

No output schema declared.

No examples provided.

Install

How do I install the io.github.chrischall/gogcli-mcp-drive server?

io.github.chrischall/gogcli-mcp-drive runs locally as an npm package, launched with npx -y gogcli-mcp-drive. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · gogcli-mcp-drive

# add to Claude Code
claude mcp add chrischall-gogcli-mcp-drive -- npx -y gogcli-mcp-drive
Common questions

What is the io.github.chrischall/gogcli-mcp-drive server?

io.github.chrischall/gogcli-mcp-drive is listed in the public MCP registry as io.github.chrischall/gogcli-mcp-drive. Google Drive via gogcli for Claude, search, upload, download, permissions. This page covers its npm package (gogcli-mcp-drive).

Is the io.github.chrischall/gogcli-mcp-drive server safe to use?

io.github.chrischall/gogcli-mcp-drive scores 93 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.chrischall/gogcli-mcp-drive server expose?

io.github.chrischall/gogcli-mcp-drive exposes 50 tools: gog_auth_list, gog_auth_status, gog_auth_health, gog_auth_services, gog_auth_add, and 45 more. Their descriptions and schemas cost roughly 9,793 tokens of context every time the server is loaded.

Is the io.github.chrischall/gogcli-mcp-drive server still maintained?

io.github.chrischall/gogcli-mcp-drive is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.chrischall/gogcli-mcp-drive server under?

io.github.chrischall/gogcli-mcp-drive declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.