io.github.chrischall/gogcli-mcp-drive
NPM · GOGCLI-MCP-DRIVE · SCANNED SEP 20
Google Drive via gogcli for Claude — search, upload, download, permissions
Available components
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 Usability68
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 8400 tokens (~168/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 Management97
- Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
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
claude mcp add chrischall-gogcli-mcp-drive -- npx -y gogcli-mcp-drive
{
"mcpServers": {
"chrischall-gogcli-mcp-drive": {
"command": "npx",
"args": [
"-y",
"gogcli-mcp-drive"
]
}
}
} {
"servers": {
"chrischall-gogcli-mcp-drive": {
"command": "npx",
"args": [
"-y",
"gogcli-mcp-drive"
]
}
}
} codex mcp add chrischall-gogcli-mcp-drive -- npx -y gogcli-mcp-drive
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"chrischall-gogcli-mcp-drive": {
"type": "local",
"command": [
"npx",
"-y",
"gogcli-mcp-drive"
],
"enabled": true
}
}
} openclaw mcp add chrischall-gogcli-mcp-drive --command npx --arg -y --arg gogcli-mcp-drive
mcp_servers:
chrischall-gogcli-mcp-drive:
command: "npx"
args: ["-y", "gogcli-mcp-drive"] {
"McpServers": {
"chrischall-gogcli-mcp-drive": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"gogcli-mcp-drive"
]
}
}
} assistant mcp add chrischall-gogcli-mcp-drive -t stdio -c npx -a -y gogcli-mcp-drive
{
"mcpServers": {
"chrischall-gogcli-mcp-drive": {
"command": "npx",
"args": [
"-y",
"gogcli-mcp-drive"
]
}
}
} 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.
- 20 Sept 26 0
- MCP protocol: Implements a current MCP spec version (2026-07-28). functional
- Package version: 4.0.1 → 4.1.0 functional
- 19 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 18 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- Package version: 3.0.0 → 4.0.1 functional
- 17 Sept 26 +1
- Stability: 0.83 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Dependency health: 0.85 → 1.00 ▲ functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Package version: 2.30.0 → 3.0.0 functional
- 16 Sept 26 −2
- Stability: pass → 0.83 functional
- 15 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 14 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- Stability: 0.97 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Stability: 0.97 → pass security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Package version: 2.29.1 → 2.30.0 functional
- 13 Sept 26 0
- Stability: pass → 0.97 functional
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 20 Sept 2026 · Analysed npm/gogcli-mcp-drive@4.1.0
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 | 2893922199 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:a78e1773004123eeb41fc49f47182ba2175e34a8f877ebca61493e6d4b6f98b26ecd9a6aa7f073812cb11da402899f0c4289956d73e3e726cf7be86ba |
Background: How many MCP packages publish verified provenance →
Dependencies 4 packages
| Packages resolved | 4 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Google account email to authorize | |
| extraScopes | string | – | 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… |
| services | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Google account email being authorized (same as step 1) | |
| extraScopes | string | – | 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. |
| redirectUrl | string | yes | The 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). |
| services | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Google account email to authorize | |
| extraScopes | string | – | 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… |
| services | string | – | 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 ~108
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. For browser-based authorization, use gog_auth_add instead.
| Name | Type | Req | Description |
|---|---|---|---|
| args | array | yes | Additional positional args and flags |
| subcommand | string | yes | The gog auth subcommand to run, e.g. "remove", "alias", "list" |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| actions | string | – | Comma-separated action filters: edit,create,delete,move,rename,restore,comment,share,label,dlp,reference,settings |
| all | boolean | – | Fetch all pages |
| consolidate | boolean | – | Use Drive Activity legacy consolidation strategy |
| file | string | – | Drive file ID to query |
| filter | string | – | Raw Drive Activity filter expression appended with AND |
| folder | string | – | Drive folder ID; includes descendants |
| from | string | – | Lower activity time bound (RFC3339) |
| max | number | – | Page size (default: 10) |
| page | string | – | Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response. |
| pageToken | string | – | 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… |
| to | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| depth | number | – | Max folder depth (0 = unlimited; default: 2) |
| externalOnly | boolean | – | Only report external user/group/domain permissions |
| file | string | – | Audit one file ID instead of a folder tree |
| internalDomain | array | – | Domains treated as internal (defaults to account email domain) |
| max | number | – | Max files/folders to scan (0 = unlimited; default: 500) |
| noAllDrives | boolean | – | My Drive only — exclude shared drives (shared drives are included by default) |
| parent | string | – | Folder ID to scan (default: root) |
| publicOnly | boolean | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| depth | number | – | Max folder depth (0 = unlimited; default: 2) |
| file | string | – | Audit one file ID instead of a folder tree |
| max | number | – | Max files/folders to scan (0 = unlimited; default: 500) |
| noAllDrives | boolean | – | My Drive only — exclude shared drives (shared drives are included by default) |
| parent | string | – | Folder ID to scan (default: root) |
| user | string | yes | User 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| all | boolean | – | Fetch all pages |
| drive | string | – | Shared drive ID for a shared-drive change log |
| includeRemoved | boolean | – | Include removed changes |
| max | number | – | Max results (default: 100) |
| page | string | – | Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response. |
| pageToken | string | – | 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… |
| token | string | yes | Start 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| drive | string | – | Shared drive ID for a shared-drive change log |
No output schema declared.
No examples provided.
gog_drive_comments_add ~85
Add a new comment to a Drive file.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| content | string | yes | Comment text |
| fileId | string | yes | File ID |
No output schema declared.
No examples provided.
gog_drive_comments_delete ~87
Delete a comment from a Drive file.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| commentId | string | yes | Comment ID to delete |
| fileId | string | yes | File ID |
No output schema declared.
No examples provided.
gog_drive_comments_get ~88
Get a single comment on a Drive file by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| commentId | string | yes | Comment ID |
| fileId | string | yes | File ID |
No output schema declared.
No examples provided.
gog_drive_comments_list ~239
List comments on a Drive file.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| all | boolean | – | Fetch all pages |
| fileId | string | yes | File ID |
| includeQuoted | boolean | – | Include the quoted content each comment is anchored to |
| max | integer | – | Max results |
| page | string | – | Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response. |
| pageToken | string | – | 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… |
| since | string | – | 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".
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| commentId | string | yes | Comment ID to reopen |
| fileId | string | yes | File ID |
No output schema declared.
No examples provided.
gog_drive_comments_reply ~161
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).
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| action | string | – | Optional action on the parent comment alongside the reply |
| commentId | string | yes | Comment ID to reply to |
| content | string | yes | Reply text |
| fileId | string | yes | File 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".
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| commentId | string | yes | Comment ID to resolve |
| fileId | string | yes | File ID |
No output schema declared.
No examples provided.
gog_drive_comments_update ~97
Update the text of an existing comment.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| commentId | string | yes | Comment ID to update |
| content | string | yes | New comment text |
| fileId | string | yes | File ID |
No output schema declared.
No examples provided.
gog_drive_copy ~103
Copy a Drive file to a new file with the given name.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | File ID to copy |
| name | string | yes | Name for the new copy |
| parent | string | – | Destination folder ID |
No output schema declared.
No examples provided.
gog_drive_delete ~105
Move a Google Drive file to trash, or permanently delete it with permanent=true (irreversible).
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | File ID to delete |
| permanent | boolean | – | Permanently delete instead of moving to trash (irreversible) |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | File ID to download |
| format | string | – | Export format for Google Docs: pdf, csv, xlsx, pptx, txt, png, docx, md (default: inferred) |
| out | string | – | Output file path (default: gogcli config dir) |
| overwrite | boolean | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| all | boolean | – | Fetch all pages |
| max | number | – | Max results (default: 100, max allowed: 100) |
| page | string | – | Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response. |
| pageToken | string | – | 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… |
| query | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| depth | number | – | Depth for folder totals (default: 1) |
| max | number | – | Max folders to return (0 = unlimited; default: 50) |
| noAllDrives | boolean | – | My Drive only — exclude shared drives (shared drives are included by default) |
| order | string | – | Sort order (default: desc) |
| parent | string | – | Folder ID to start from (default: root) |
| sort | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | Drive file ID (e.g. the id returned by gog_gmail_attachment) |
| maxChars | integer | – | Max characters to return (default: all from offset) |
| ocrLanguage | string | – | BCP-47 language hint for OCR of scanned/image PDFs (e.g. "en", "fr"). Optional. |
| offset | integer | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | File ID |
| view | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| date | array | – | Date fields as fieldId=YYYY-MM-DD[,YYYY-MM-DD] (repeatable) |
| fieldsJson | string | – | Simple JSON object of fieldId to string/number/bool/string-array values |
| fileId | string | yes | File ID |
| integer | array | – | Integer fields as fieldId=123[,456] (repeatable) |
| labelId | string | yes | Label ID to apply |
| selection | array | – | Selection fields as fieldId=choiceId[,choiceId] (repeatable) |
| text | array | – | Text fields as fieldId=value (repeatable) |
| unset | array | – | Field IDs to unset (repeatable) |
| user | array | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | File ID |
| max | number | – | Max results (default: 100) |
| page | string | – | Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response. |
| pageToken | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | File ID |
| labelId | string | yes | Label 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").
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| adminAccess | boolean | – | Use admin access for Workspace admin accounts |
| language | string | – | BCP-47 language code |
| name | string | yes | Label schema name (e.g. labels/abc123) |
| view | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| adminAccess | boolean | – | Use admin access for Workspace admin accounts |
| language | string | – | BCP-47 language code |
| max | integer | – | Max results |
| minimumRole | string | – | Minimum role filter (e.g. READER, APPLIER, ORGANIZER) |
| page | string | – | Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response. |
| pageToken | string | – | 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… |
| publishedOnly | boolean | – | Only list published labels |
| view | string | – | 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).
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| allDrives | boolean | – | Include shared drives (default: true). Set false for My Drive only. |
| folderId | string | – | Folder ID to list (default: root) |
| max | number | – | Max results (default: 20) |
| page | string | – | Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response. |
| pageToken | string | – | 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… |
| query | string | – | Drive query filter (e.g. "name contains 'budget'") |
| view | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| name | string | yes | Folder name |
No output schema declared.
No examples provided.
gog_drive_move ~90
Move a file to a different folder in Google Drive.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | File ID to move |
| parentId | string | yes | Destination folder ID |
No output schema declared.
No examples provided.
gog_drive_permissions ~179
List permissions on a Drive file.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | File ID |
| max | number | – | Max results (default: 100) |
| page | string | – | Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response. |
| pageToken | string | – | 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 ~120
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. For readable text from a PDF, prefer gog_drive_extract_text.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | Drive file ID |
No output schema declared.
No examples provided.
gog_drive_rename ~88
Rename a file or folder in Google Drive.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | File or folder ID |
| newName | string | yes | New 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | File ID |
| revisionId | string | yes | Revision 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| all | boolean | – | Fetch all pages |
| fileId | string | yes | File ID |
| max | integer | – | Max results |
| page | string | – | Deprecated alias for pageToken, accepted so existing callers keep working. Use pageToken — it matches the nextPageToken field in the response. |
| pageToken | string | – | 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 ~147
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| args | array | yes | Additional positional args and flags |
| subcommand | string | yes | The gog drive subcommand to run, e.g. "copy", "upload", "download", "permissions" |
No output schema declared.
No examples provided.
gog_drive_search ~142
Search Google Drive files by full-text query.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| query | string | yes | Search query |
| view | string | – | 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 ~127
Share a Google Drive file or folder.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| domain | string | – | Domain (required when to=domain) |
| string | – | User email (required when to=user) | |
| fileId | string | yes | File or folder ID |
| role | string | – | Permission role (default: reader) |
| to | string | yes | Share 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| name | string | – | Shortcut name (default: the target's name) |
| parent | string | yes | Destination folder ID for the shortcut |
| targetId | string | yes | File or folder ID the shortcut points to |
No output schema declared.
No examples provided.
gog_drive_sync_push ~186
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| allDrives | boolean | – | Include shared drives (default: true; set false for My Drive only) |
| dryRun | boolean | – | Preview the planned actions without making any changes |
| localPath | string | yes | Local directory to push (its contents are mirrored into the parent folder) |
| parent | string | yes | Existing 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| depth | number | – | Max depth (0 = unlimited; default: 2) |
| max | number | – | Max items to return (0 = unlimited; default: 0) |
| noAllDrives | boolean | – | My Drive only — exclude shared drives (shared drives are included by default) |
| parent | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileId | string | yes | File ID |
| permissionId | string | yes | Permission ID to remove |
No output schema declared.
No examples provided.
gog_drive_upload ~711
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| content | string | – | 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… |
| convert | boolean | – | Auto-convert to native Google format based on file extension (create only) |
| convertTo | string | – | Convert to a specific Google format: doc | sheet | slides (create only) |
| ifVersion | integer | – | 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… |
| keepRevisionForever | boolean | – | Keep the new head revision forever (binary files only) |
| localPath | string | – | 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… |
| mimeType | string | – | Override MIME type inference |
| name | string | – | Override filename (create) or rename target (replace) |
| parent | string | – | Destination folder ID (create only) |
| replace | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 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. |
| fileIds | array | yes | One or more file IDs to get URLs for |
No output schema declared.
No examples provided.
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 20 September 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 8,400 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 20 September 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.