Google's official remote MCP mount (advanced option, not the shipped path)
Read this first: DuDuClaw’s supported path for Google Workspace is native tools — Gmail / Calendar / Sheets / Drive / Docs / Slides / Forms / Tasks, all eight services, all through the GA REST API, 19 MCP tools. See google-workspace.md. You don’t need to read this page for normal use.
The official remote MCP documented here is an advanced option with two hard constraints: ① it’s still a Developer Preview and requires enrollment; ② the Program Terms prohibit letting end users outside your own domain/organization use a Pre-GA API through your app before GA — in other words, you can’t ship it to customers (unless each customer enrolls with their own eligibility and GCP project). Given that, the 2026-07-30 decision was: the product ships entirely on native tools, and this mount is kept only for internal use and for advanced users willing to enroll themselves.
Coverage across the eight services
Section titled “Coverage across the eight services”| Service | Native tools (the shipped path, no enrollment needed) | Official MCP (preview, internal use only) |
|---|---|---|
| Gmail | ✅ 4 tools | ✅ preset = "google:gmail" (13 tools) |
| Calendar | ✅ 2 | ✅ google:calendar (9) |
| Sheets | ✅ 2 | ✅ google:sheets (7) |
| Drive | ✅ 2 | ✅ google:drive (8) |
| Docs | ✅ 2 | ✅ google:docs (2) |
| Slides | ✅ 1 (read-only) | ✅ google:slides (2) |
| Forms | ✅ 2 | ❌ none official |
| Tasks | ✅ 4 | ❌ none official |
The official MCP’s tool surface is richer than the native tools for Gmail/Drive/Sheets
(label management, permission queries, formula writes, and more) — that’s its only
advantage; the cost is the preview enrollment and the ban on shipping. The native tool
count is 19 total (including google_status).
The “none official” verdict for Forms and Tasks is a verified fact, not a guess:
formsmcp.googleapis.com / tasksmcp.googleapis.com both return 404 in practice, and
Google’s MCP documentation doesn’t mention either service (not even as “coming soon”).
Separately, Google also offers Chat (preset = "google:chat", usable) and People
(different endpoint naming, not included in a preset) — neither currently has a native
tool equivalent.
Per-service tool list (from a live tools/list call)
Section titled “Per-service tool list (from a live tools/list call)”- Gmail:
search_threadsget_threadget_messagecreate_draftlist_draftslist_labelscreate_labellabel_messageunlabel_messagelabel_threadunlabel_threadapply_sensitive_message_labelapply_sensitive_thread_label. No send-mail tool — it stops at drafts. - Calendar:
list_calendarslist_eventsget_eventsearch_eventssuggest_timecreate_eventupdate_eventdelete_eventrespond_to_event - Drive:
search_fileslist_recent_filesget_file_metadataget_file_permissionsread_file_contentdownload_file_contentcreate_filecopy_file - Docs:
read_docupdate_doc - Sheets:
get_spreadsheetget_valuesupdate_valuesupdate_formulasupdate_spreadsheetinsert_dimensioncopy_sheet_to_another_spreadsheet - Slides:
read_presentationupdate_presentation
One-time setup
Section titled “One-time setup”-
Join the Developer Preview Program: https://developers.google.com/workspace/preview (free, approval takes a few days; applying requires a Workspace account). These servers are still preview, not GA — the terms restrict Pre-GA API use to your own domain/organization only.
-
Enable the APIs on the GCP project — each service needs both its “standard API” and its “MCP API” layer:
終端機視窗 gcloud services enable \gmail.googleapis.com gmailmcp.googleapis.com \calendar-json.googleapis.com calendarmcp.googleapis.com \drive.googleapis.com drivemcp.googleapis.com \docs.googleapis.com docsmcp.googleapis.com \sheets.googleapis.com sheetsmcp.googleapis.com \slides.googleapis.com slidesmcp.googleapis.com \--project=PROJECT_ID -
Connect a Google account: the dashboard’s Integrations → Google (整合 → Google) tab. The scopes already cover Drive/Docs/Sheets/Slides (see google-workspace.md); accounts connected before v1.47 need to reconnect once to pick up the new scopes.
How authentication works
Section titled “How authentication works”The preset sets the bearer to oauth://google — at mount time it fetches the current
valid access token, and refreshes it automatically with the refresh token when it
expires. When no Google account is connected, the whole server is skipped
(fail-safe: the agent loses those tools, but the reply doesn’t fail).
You can also bypass the dashboard integration and bring your own token:
[[mcp.external]]preset = "google:sheets"bearer_token = "env://MY_GOOGLE_TOKEN" # overrides the preset's default bearerTechnical detail: these are stateless Streamable HTTP servers, natively supported by
DuDuClaw’s MCP client. There’s no need for a stdio proxy like npx mcp-remote —
Google doesn’t provide an official bridge, and its OAuth doesn’t support Dynamic
Client Registration, so community proxies’ default flow fails.
Recommendation: narrow the tool surface
Section titled “Recommendation: narrow the tool surface”The official server hands over a lot of tools at once (8 for Drive, 13 for Gmail).
It’s worth using allowed_tools to open only what you need, and routing write
tools through HITL approval:
[[mcp.external]]preset = "google:calendar"allowed_tools = ["list_events", "suggest_time", "create_event"]
# agent.toml[capabilities]approval_required_tools = ["create_event", "update_doc", "create_file"]Known limitations
Section titled “Known limitations”- Still preview stage; rate limits aren’t publicly documented (check the GCP Console quota page).
- OAuth is interactive-only — no service account / headless authorization path.
- Gmail has no send-mail tool; the official reference page’s tool count doesn’t
match the live endpoint (the reference lists 10, the endpoint actually has 13)
— trust a live
tools/listcall over the docs. - If the endpoints get renamed at GA, the only change needed is in
mcp_external.rs‘sGOOGLE_MCP_PRESETS— users’agent.tomlfiles don’t need to change.
Sources: configure-mcp-servers, Gmail MCP reference, Calendar MCP reference, Developer Preview Program.