Server data from the Official MCP Registry
Google Drive + Workspace MCP — Docs, Sheets, Slides, Shared Drives, Labels, Approvals, DWD
Google Drive + Workspace MCP — Docs, Sheets, Slides, Shared Drives, Labels, Approvals, DWD
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
3 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Set these up before or after installing:
Environment variable: GOOGLE_CLIENT_ID
Environment variable: GOOGLE_CLIENT_SECRET
Environment variable: GOOGLE_REFRESH_TOKEN
Environment variable: GOOGLE_APPLICATION_CREDENTIALS
Environment variable: GOOGLE_SERVICE_ACCOUNT_KEY_PATH
Environment variable: GOOGLE_IMPERSONATE_USER
Environment variable: GOOGLE_DRIVE_SCOPES
Environment variable: GOOGLE_DRIVE_ALLOW_WRITE
Environment variable: GD_TOOLS
Environment variable: GD_DISABLE
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-us-all-google-drive": {
"env": {
"GD_TOOLS": "your-gd-tools-here",
"GD_DISABLE": "your-gd-disable-here",
"GOOGLE_CLIENT_ID": "your-google-client-id-here",
"GOOGLE_DRIVE_SCOPES": "your-google-drive-scopes-here",
"GOOGLE_CLIENT_SECRET": "your-google-client-secret-here",
"GOOGLE_REFRESH_TOKEN": "your-google-refresh-token-here",
"GOOGLE_IMPERSONATE_USER": "your-google-impersonate-user-here",
"GOOGLE_DRIVE_ALLOW_WRITE": "your-google-drive-allow-write-here",
"GOOGLE_APPLICATION_CREDENTIALS": "your-google-application-credentials-here",
"GOOGLE_SERVICE_ACCOUNT_KEY_PATH": "your-google-service-account-key-path-here"
},
"args": [
"-y",
"@us-all/google-drive-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
The Workspace power-editing MCP — formula-aware Sheets, full Slides editing, shared-drive audits the read-only Claude.ai connector deliberately won't ship.
96 tools across Drive (24) + Docs (13) + Sheets (30) + Slides (20) + GWS admin (8) + aggregations (2). Service Account + Domain-Wide Delegation for org-scale automation. GWS-aware capability detection — features auto-unlock for Workspace accounts.
list-shared-drives, get-shared-drive, create-shared-drive, list/share/remove permissions, file activity, labels, approvals. Workspace governance surface the connector deliberately doesn't expose.audit-shared-drive-permissions (single Shared-Drive audit) + audit-external-shares (cross-drive / My-Drive audit with top external-domain concentration view), summarize-spreadsheet (metadata + per-tab sample + named ranges), summarize-doc (file + content + permissions + comments).cleanup-shared-with-me, analyze-doc-structure, bulk-format-spreadsheet.capabilities.ts detects account type on startup; GWS-only tools return clear errors for personal accounts instead of mysterious 403s.Connect the server to Claude Desktop or Claude Code, then paste any of these:
us-all.co.kr who have access to anything. Group by drive, sort by access level."amount across every sales-* spreadsheet in my drive: red if <0, yellow if 0–100, green if >100."| Anthropic 1st-party Workspace connector | taylorwilsdon/google_workspace_mcp | xing5/mcp-google-sheets | @us-all/google-drive-mcp (this) | |
|---|---|---|---|---|
| Stars / availability | n/a (Claude.ai built-in, Feb 2026) | 2.3K★ | 836★ | — |
| Scope | Drive read + Sheets-as-CSV read | Gmail+Calendar+Drive+Docs+Sheets+Slides+Forms+Chat+Tasks+Contacts+Apps Script | Sheets only | Drive + Docs + Sheets + Slides + GWS admin |
| Sheets formula editing | ❌ (CSV round-trip loses formulas) | ✅ basic | ✅ specialist | ✅ deep (charts/conditional/named ranges) |
| Slides editing | ❌ | ✅ | ❌ | ✅ deep |
| Shared-drive admin | partial | ✅ | ❌ | ✅ deep |
| Folder operations | ❌ | ✅ | ❌ | ✅ |
| Aggregation tools | ❌ | ❌ | ❌ | ✅ summarize-spreadsheet, summarize-doc, audit-external-shares |
| MCP Prompts | ❌ | ❌ | ❌ | ✅ 4 |
| Auth modes | managed OAuth | OAuth + SA + stateless | SA / OAuth / ADC | OAuth + SA + DWD + ADC |
| Transport | n/a (Claude.ai-only) | stdio + HTTP | stdio | stdio |
Use the 1st-party connector for zero-config Drive read flows in Claude.ai. Use taylorwilsdon if you need the full Workspace surface (Gmail / Calendar / Forms etc.). Use this server for Drive + Docs + Sheets + Slides power-editing, shared-drive governance, and bulk operations the connector can't do.
{
"mcpServers": {
"google-drive": {
"command": "npx",
"args": ["-y", "@us-all/google-drive-mcp"],
"env": {
"GOOGLE_CLIENT_ID": "<your-client-id>",
"GOOGLE_CLIENT_SECRET": "<your-client-secret>",
"GOOGLE_REFRESH_TOKEN": "<your-refresh-token>",
"GOOGLE_DRIVE_ALLOW_WRITE": "true"
}
}
}
}
claude mcp add google-drive -s user -- npx -y @us-all/google-drive-mcp
(Set env vars separately or in .mcp.json.)
docker run --rm -i --env-file .env ghcr.io/us-all/google-drive-mcp-server
git clone https://github.com/us-all/google-drive-mcp-server.git
cd google-drive-mcp-server && pnpm install && pnpm build
node dist/index.js
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKENGOOGLE_SERVICE_ACCOUNT_KEY_PATH and GOOGLE_IMPERSONATE_USERgcloud auth application-default login --client-id-file=client_secret.json --scopes=... — auto-detected on startup. Windows ADC paths (%APPDATA%\gcloud\) supported.
| Variable | Required | Default | Description |
|---|---|---|---|
GOOGLE_CLIENT_ID | OAuth2 | — | OAuth2 Client ID |
GOOGLE_CLIENT_SECRET | OAuth2 | — | OAuth2 Client Secret |
GOOGLE_REFRESH_TOKEN | OAuth2 | — | OAuth2 Refresh Token |
GOOGLE_SERVICE_ACCOUNT_KEY_PATH | SA | — | Path to service-account JSON key |
GOOGLE_IMPERSONATE_USER | ❌ | — | GWS user email to impersonate (SA only) |
GOOGLE_DRIVE_ALLOW_WRITE | ❌ | false | Set true to enable mutations |
GOOGLE_DRIVE_SCOPES | ❌ | drive.readonly (or drive if write enabled) | Comma-sep OAuth scopes override |
GD_TOOLS | ❌ | — | Comma-sep allowlist of categories. Biggest token saver. |
GD_DISABLE | ❌ | — | Comma-sep denylist. Ignored when GD_TOOLS is set. |
MCP_TRANSPORT | ❌ | stdio | http to enable Streamable HTTP transport |
MCP_HTTP_TOKEN | conditional | — | Bearer token. Required when MCP_TRANSPORT=http |
MCP_HTTP_PORT | ❌ | 3000 | HTTP listen port |
MCP_HTTP_HOST | ❌ | 127.0.0.1 | HTTP bind host (DNS rebinding protection auto-enabled for localhost) |
MCP_HTTP_SKIP_AUTH | ❌ | false | Skip Bearer auth — e.g. behind a reverse proxy that handles it |
Categories (7): drive, sheets, docs, slides, shared-drives, labels, approvals. Plus always-on meta.
When MCP_TRANSPORT=http: POST /mcp (Bearer-auth JSON-RPC) + GET /health (public liveness).
| Scenario | Tools | Schema tokens | vs default |
|---|---|---|---|
| default (all categories) | 96 | 18,400 | — |
typical (GD_TOOLS=drive,docs,sheets) | 68 | 13,700 | −25% |
narrow (GD_TOOLS=drive) | 25 | 4,000 | −78% |
extractFields projection on list-files/get-file/sheets-get-spreadsheet/docs-get-document (with tabsCount, rowCount, columnCount, locale, timeZone defaults). list-files slim default trims ~80% (drops capabilities 40-bool object + contentRestrictions).
capabilities.ts detects account type at startup via about.get() + domain check:
| Feature | Personal | GWS Standard+ | GWS Enterprise |
|---|---|---|---|
| File CRUD / Search / Export | ✅ | ✅ | ✅ |
| Docs / Sheets / Slides editing | ✅ | ✅ | ✅ |
| Comments & Revisions | ✅ | ✅ | ✅ |
| Drive Activity | ✅ | ✅ | ✅ |
| Shared Drives | — | ✅ | ✅ |
| Labels (classification) | — | ✅ | ✅ |
| Approvals | — | ✅ | ✅ |
| Domain-Wide Delegation | — | ✅ | ✅ |
GWS-only tools throw GWSFeatureError with a clear message for personal accounts — no mysterious 403s.
Workflow templates available via MCP prompts/list:
audit-shared-drive-permissions — fleet-wide external-share audit; flag access-level outliers.cleanup-shared-with-me — find untouched stale shares + suggest cleanup.analyze-doc-structure — heading hierarchy + link health + alt-text coverage.bulk-format-spreadsheet — apply consistent format across many sheets/tabs.URI-based read-only access:
gdrive://file/{fileId}gdrive://spreadsheet/{spreadsheetId}gdrive://document/{documentId}gdrive://presentation/{presentationId}gdrive://folder/{folderId}gdrive://shared-drive/{driveId} (GWS-gated)gdrive://about/me7 categories. Use search-tools to discover at runtime; full list collapsed below.
| Category | Tools |
|---|---|
| Sheets (data / structure / formatting / advanced) | 30 |
| Drive (files / search / folders / permissions / export / comments / revisions / activity) | 24 |
| Slides (presentation / slide mgmt / content / formatting) | 20 |
| Docs (document / editing / formatting / elements) | 13 |
| GWS-only (shared drives / labels / approvals / audit) | 9 |
Aggregations (summarize-spreadsheet, summarize-doc, audit-external-shares) | 3 |
Meta (search-tools) | 1 |
get-about, list-files, get-file, read-file, create-file, update-file, copy-file, delete-file, search-files, create-folder, move-file, get-folder-tree, list-permissions, share-file, remove-permission, export-file, get-download-link, list-comments, get-comment, create-comment, resolve-comment, list-revisions, get-revision, get-activity
Document: docs-get-document, docs-create-document, docs-get-content, docs-list-tabs
Editing: docs-insert-text, docs-delete-range, docs-replace-text, docs-batch-update
Formatting: docs-format-text, docs-format-paragraph
Elements: docs-insert-table, docs-insert-image, docs-insert-page-break
Data: sheets-get-spreadsheet, sheets-get-values, sheets-batch-get-values, sheets-update-values, sheets-batch-update-values, sheets-append-values, sheets-clear-values, sheets-batch-clear-values, sheets-create-spreadsheet, sheets-manage-sheets
Structure: sheets-insert-dimension, sheets-delete-dimension, sheets-duplicate-sheet, sheets-copy-sheet-to, sheets-copy-paste, sheets-sort-range, sheets-find-replace
Formatting: sheets-format-cells, sheets-update-borders, sheets-merge-cells, sheets-unmerge-cells, sheets-auto-resize, sheets-resize-dimensions
Advanced: sheets-set-data-validation, sheets-add-conditional-format, sheets-add-chart, sheets-delete-chart, sheets-add-protected-range, sheets-delete-protected-range, sheets-manage-named-range
Presentation: slides-get-presentation, slides-create-presentation, slides-duplicate-presentation
Slide management: slides-get-slide, slides-add-slide, slides-delete-slide, slides-move-slide, slides-duplicate-slide
Content: slides-insert-text, slides-replace-text, slides-insert-text-box, slides-insert-image, slides-insert-table, slides-update-table-cell, slides-insert-shape
Formatting: slides-format-text, slides-format-shape, slides-resize-element, slides-set-slide-background, slides-batch-update
list-shared-drives, get-shared-drive, create-shared-drive, audit-shared-drive-permissions, list-file-labels, apply-label, remove-label, list-approvals, get-approval
summarize-spreadsheet, summarize-doc, audit-external-shares
audit-external-shares complements the GWS-only audit-shared-drive-permissions: it runs across all corpora the caller can see (or just My Drive on personal accounts) and adds a top-external-domains concentration view.
search-tools — query other tools by keyword; always enabled.
Claude → MCP stdio → src/index.ts
├── config.ts (OAuth2 / SA / ADC)
├── capabilities.ts (Personal vs GWS detect)
├── client.ts (Google API auth)
└── tools/{files,search,folders,permissions,export,comments,revisions,
about,activity,docs,sheets,slides,shared-drives,labels,approvals,
aggregations}.ts
↓
Drive API v3 / Docs API v1 / Sheets API v4 /
Slides API v1 / Drive Activity API v2 / Drive Labels API v2
Built on @us-all/mcp-toolkit:
extractFields — token-efficient response projectionsaggregate(fetchers, caveats) — fan-out helper for summarize-doccreateWrapToolHandler — Google query-string key=... redaction + WriteBlockedError / GWSFeatureError passthrough + Google API error extractionsearch-tools meta-toolsupportsAllDrives: true is passed to every Drive API call so Shared Drives just work.
Node.js 18+ • TypeScript strict ESM • pnpm • @modelcontextprotocol/sdk • googleapis (Drive v3 / Docs v1 / Sheets v4 / Slides v1 / Activity v2 / Labels v2) • zod • dotenv • vitest.
googleapis SDK has no typed bindings; uses raw fetch with auth header extraction.search-files — auto-wraps plain text in fullText contains '...'; pass Drive query syntax directly for advanced searches.Be the first to review this server!
by Modelcontextprotocol · File & Storage
Secure file operations with configurable access controls
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.