Google Drive

io.github.us-all由 GitHub 帳號 us-all 發布v1.15.8更新於 Oct 24, 2026

Google Drive + Workspace MCP — Docs, Sheets, Slides, Shared Drives, Labels, Approvals, DWD

概覽

AI 產生的概覽

在本機執行的 Google Drive 與 Workspace MCP 伺服器,讓助理讀取、編輯與稽核雲端硬碟檔案、文件、試算表、簡報及共用雲端硬碟。

可以做什麼
瀏覽、搜尋、建立、複製、移動、刪除與匯出雲端硬碟檔案和資料夾,並管理權限、留言、修訂記錄與活動記錄。讀取與編輯 Google 文件,包括文字、格式、表格、圖片與分頁符號。讀取與編輯 Google 試算表,涵蓋數值、結構、格式、資料驗證、條件格式、圖表、受保護範圍與命名範圍。建立與編輯 Google 簡報、投影片、圖案、表格、圖片與格式。管理共用雲端硬碟、標籤與核准,並執行外部共用稽核、文件或試算表摘要等彙總操作。
適用情境
當你需要比唯讀連接器更深入的雲端硬碟與 Workspace 編輯能力時使用:保留公式的試算表操作、完整的簡報編輯、跨多個檔案的批次格式設定,或針對 Workspace 組織的共用雲端硬碟權限與外部共用稽核。
執行需求
透過 npx 或 Docker 在 Node.js 22+ 上本機執行。需要啟用 Drive、Docs、Sheets、Slides、Drive Activity 與 Drive Labels API 的 Google Cloud 專案。OAuth2 需要 GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET 與 GOOGLE_REFRESH_TOKEN;服務帳戶驗證需要 GOOGLE_APPLICATION_CREDENTIALS 或 GOOGLE_SERVICE_ACCOUNT_KEY_PATH,以及 GOOGLE_IMPERSONATE_USER 和網域層級委派;也支援 ADC。需要連線至 Google API 的網路存取。
安裝前請注意
需要 Google OAuth 密鑰(GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET、GOOGLE_REFRESH_TOKEN)或服務帳戶金鑰檔案,這些憑證可存取你的雲端硬碟資料。寫入工具預設關閉,需設定 GOOGLE_DRIVE_ALLOW_WRITE=true 開啟;開啟後助理可建立、更新、移動、共用與刪除檔案及權限。服務帳戶模擬可以其他 Workspace 使用者身分操作。選用的 HTTP 傳輸需要 MCP_HTTP_TOKEN,除非略過驗證。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Google Drive,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Google Drive MCP Server

The Workspace power-editing MCP — formula-aware Sheets, full Slides editing, shared-drive audits the read-only Claude.ai connector deliberately won't ship.

98 tools across Drive, Docs, Sheets, Slides, GWS admin, and aggregations. Service Account + Domain-Wide Delegation for org-scale automation. GWS-aware capability detection — features auto-unlock for Workspace accounts.

[npm] [downloads] [tools] [@us-all standard] [Glama MCP server]

What it does that others don't

  • Deep Sheets editing — charts, conditional formats, protected ranges, named ranges, data validation, borders, merge, sort, find/replace, formulas, A1-quote-doubling for CJK tab names. The 1st-party Workspace connector reads Sheets as CSV — formulas don't survive.
  • Full Slides editing — presentations, slides, shapes, tables, images, formatting. Not in the connector at all.
  • Shared-Drive admin tooling — 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.
  • 3 auth modes — OAuth2 (personal or GWS), Service Account + Domain-Wide Delegation (org-scale), Application Default Credentials (auto-detected).
  • Aggregation tools — 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).
  • MCP Prompts (3) — cleanup-shared-with-me, analyze-doc-structure, bulk-format-spreadsheet.
  • GWS-aware — capabilities.ts detects account type on startup; GWS-only tools return clear errors for personal accounts instead of mysterious 403s.

Try this — 5 prompts

Connect the server to Claude Desktop or Claude Code, then paste any of these:

  1. Shared-drive permission audit — "Audit external shares across all my Shared Drives. List people outside us-all.co.kr who have access to anything. Group by drive, sort by access level."
  2. Bulk conditional formatting — "Apply this conditional format to column amount across every sales-* spreadsheet in my drive: red if <0, yellow if 0–100, green if >100."
  3. Slides from Doc outline — "Convert this Google Doc's outline into a 12-slide presentation: title slide, then 1 slide per H2 with H3 bullet points, end with a Q&A slide. Use the company template."
  4. Doc structure analysis — "Analyze this Doc's structure: heading hierarchy, internal vs external link health, image alt-text coverage. Suggest 3 concrete improvements."
  5. Cleanup shared-with-me — "Find files shared with me more than 180 days ago that I never opened. List them with sharer, last modified, and a guess at whether to keep."

When to use this vs alternatives

Anthropic 1st-party Workspace connectortaylorwilsdon/google_workspace_mcpxing5/mcp-google-sheets@us-all/google-drive-mcp (this)
Stars / availabilityn/a (Claude.ai built-in, Feb 2026)2.3K★836★—
ScopeDrive read + Sheets-as-CSV readGmail+Calendar+Drive+Docs+Sheets+Slides+Forms+Chat+Tasks+Contacts+Apps ScriptSheets onlyDrive + 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 adminpartial✅❌✅ deep
Folder operations❌✅❌✅
Aggregation tools❌❌❌✅ summarize-spreadsheet, summarize-doc, audit-external-shares
MCP Prompts❌❌❌✅ 4
Auth modesmanaged OAuthOAuth + SA + statelessSA / OAuth / ADCOAuth + SA + DWD + ADC
Transportn/a (Claude.ai-only)stdio + HTTPstdiostdio

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.

Install

Claude Desktop

json
{  "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>"      }    }  }}

Claude Code

bash
claude mcp add google-drive -s user -- npx -y @us-all/google-drive-mcp

(Set env vars separately or in .mcp.json.)

Docker

bash
docker run --rm -i --env-file .env ghcr.io/us-all/google-drive-mcp-server

Build from source

bash
git clone https://github.com/us-all/google-drive-mcp-server.gitcd google-drive-mcp-server && pnpm install && pnpm buildnode dist/index.js

Auth setup

OAuth2 (personal or GWS)

  1. Google Cloud Console → create project
  2. Enable Drive API, Docs API, Sheets API, Slides API, Drive Activity API, Drive Labels API
  3. Create OAuth2 credentials (Desktop App)
  4. Get a refresh token (OAuth2 playground or your own flow)
  5. Set GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN

Service Account + Domain-Wide Delegation (org-scale)

  1. Create a Service Account in Google Cloud Console
  2. Download the JSON key
  3. Workspace Admin Console → Security → API Controls → Domain-Wide Delegation → add the SA's Client ID + grant required scopes
  4. Set GOOGLE_SERVICE_ACCOUNT_KEY_PATH and GOOGLE_IMPERSONATE_USER

Application Default Credentials (zero-config)

gcloud auth application-default login --client-id-file=client_secret.json --scopes=... — auto-detected on startup. Windows ADC paths (%APPDATA%\gcloud\) supported.

Configuration

VariableRequiredDefaultDescription
GOOGLE_CLIENT_IDOAuth2—OAuth2 Client ID
GOOGLE_CLIENT_SECRETOAuth2—OAuth2 Client Secret
GOOGLE_REFRESH_TOKENOAuth2—OAuth2 Refresh Token
GOOGLE_SERVICE_ACCOUNT_KEY_PATHSA—Path to service-account JSON key
GOOGLE_IMPERSONATE_USER❌—GWS user email to impersonate (SA only)
GOOGLE_DRIVE_ALLOW_WRITE❌falseSet true to enable mutations
GOOGLE_DRIVE_SCOPES❌read-only Drive Activity + Docs scopes (or broader Drive/Docs scopes 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❌stdiohttp to enable Streamable HTTP transport
MCP_HTTP_TOKENconditional—Bearer token. Required when MCP_TRANSPORT=http
MCP_HTTP_PORT❌3000HTTP listen port
MCP_HTTP_HOST❌127.0.0.1HTTP bind host (DNS rebinding protection auto-enabled for localhost)
MCP_HTTP_SKIP_AUTH❌falseSkip 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).

Token efficiency

ScenarioToolsSchema tokensvs default
default (all categories)9618,400—
typical (GD_TOOLS=drive,docs,sheets)6813,700−25%
narrow (GD_TOOLS=drive)254,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).

GWS detection

capabilities.ts detects account type at startup via about.get() + domain check:

FeaturePersonalGWS 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.

MCP Prompts (4)

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.

MCP Resources

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/me

Tools (98)

7 categories. Use search-tools to discover at runtime; full list collapsed below.

CategoryTools
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
Full tool list

Drive (24)

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

Google Docs (13)

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

Google Sheets (30)

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

Google Slides (20)

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

GWS-only (9)

list-shared-drives, get-shared-drive, create-shared-drive, audit-shared-drive-permissions, list-file-labels, apply-label, remove-label, list-approvals, get-approval

Aggregations

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.

Meta

search-tools — query other tools by keyword; always enabled.

Architecture

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 projections
  • aggregate(fetchers, caveats) — fan-out helper for summarize-doc
  • createWrapToolHandler — Google query-string key=... redaction + WriteBlockedError / GWSFeatureError passthrough + Google API error extraction
  • search-tools meta-tool

supportsAllDrives: true is passed to every Drive API call so Shared Drives just work.

Tech stack

Node.js 22+ • TypeScript strict ESM • pnpm • @modelcontextprotocol/sdk • googleapis (Drive v3 / Docs v1 / Sheets v4 / Slides v1 / Activity v2 / Labels v2) • zod • dotenv • vitest.

Limitations

  • Approvals API — 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.

License

MIT

來源:README.md,提交 373764f

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.15.8最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分