Google Workspace MCP server
Find Gmail messages, prepare drafts, review calendars, and locate Drive files through Arc0’s early-access Google Workspace tools. Mail reads return snippets and structural metadata; Drive reads return metadata without file contents. Access is gated: request enablement for your organization before connecting.
Working with Google Workspace
For a meeting preparation task, begin with google_workspace.list_calendars and google_workspace.list_events for the relevant calendar and time window. The agent can organize the returned appointments into a brief schedule. google_workspace.create_event adds a timed block without guests; it is not an invitation tool. Choose a unique event ID and retain it for readback with google_workspace.get_event.
Mail discovery uses Gmail search syntax through google_workspace.list_messages. Follow a message ID with google_workspace.get_message for labels, dates, size estimates, and a snippet. The output excludes sender and subject headers, full bodies, and attachments, so it cannot support a claim that an entire email thread was read. google_workspace.create_draft saves an email for review in Gmail without sending it.
To locate supporting files, google_workspace.search_files accepts Drive query syntax and google_workspace.get_file retrieves a known file’s metadata. Neither downloads documents. Preserve any incomplete-search indicator in your summary, and continue through result pages before treating the returned file list as a complete inventory.
Official MCP reference: Google Workspace documentation.
Agent workflows for Google Workspace.
Prepare an email for review
Use google_workspace.list_messages and google_workspace.get_message for limited context, then google_workspace.create_draft to save text for the user to review in Gmail.
Review a calendar window
Use google_workspace.list_calendars and google_workspace.list_events to inspect appointments on a selected calendar.
Add a personal time block
Use google_workspace.create_event for a timed event without guests, then google_workspace.get_event to verify its ID.
Locate a project file
Use google_workspace.search_files and google_workspace.get_file to find names, types, and modification times without downloading contents.
11 Google Workspace actions, graded by risk.
These actions come from the Arc0 registry. Your identity, provider permissions and Arc0 policies determine which actions can run.
read
9Look things up, subject to your permissions.
- google_workspace.get_identityGet identity
Use when confirming which Google account is connected. Returns its stable subject identifier; no email or domain is needed.
- google_workspace.list_messagesList messages
Use when finding mail in the connected mailbox with Gmail search syntax. Returns up to 50 message IDs; use get_message for metadata and snippet. Pass nextCursor as pageToken.
- google_workspace.get_messageGet message
Use when reading a found message’s IDs, labels, internal date, size estimate and snippet in the connected mailbox. Does not return From/To/Subject/Date headers, attachments or the full body.
- google_workspace.get_draftGet draft
Use when checking a saved draft by its draft ID. Returns structural message metadata without downloading its body. Does not send or notify recipients.
- google_workspace.list_calendarsList calendars
Use when discovering calendars accessible to the connected user. Returns up to 50 calendar IDs and roles; pass nextCursor as pageToken.
- google_workspace.list_eventsList events
Use when reviewing events in a specific calendar and time window. Returns up to 50 expanded instances, including limited private or cancelled records. Pass nextCursor as pageToken.
- google_workspace.get_eventGet event
Use when inspecting an event by calendar and event ID, including checking whether an uncertain creation succeeded before retrying.
- google_workspace.search_filesSearch files
Use when finding Drive file metadata using Drive query syntax. Returns up to 50 files; pass nextCursor as pageToken. Does not download contents. incompleteSearch means the results may be incomplete.
- google_workspace.get_fileGet file
Use when checking a Drive file’s metadata by ID, including its name, type and modification time. Does not export or download file contents.
write
2Create and change things. Allow, or ask the user first.
- google_workspace.create_draftCreate draft
Use when preparing an email for the connected user to review. Saves a draft only; nobody is notified. Not for sending. After an uncertain result, inspect Gmail drafts before retrying to avoid duplicates.
- google_workspace.create_eventCreate event
Use when adding a timed event without guests. sendUpdates defaults to none; guest invites and reminders are disabled. Shared-calendar viewers can see it. Not for invitations. Choose a unique base32hex eventId and read it back before retrying an uncertain result.
destructive
0Delete, cancel or archive. Ask first, or deny outright.
- No destructive actions.
Control access to Google Workspace.
After early access is enabled, connect the intended Google Workspace account, authorize your AI client and set policies for its tools.
Provider permissions and Arc0 policy both apply. Allow reads, require approval for selected writes, or deny destructive actions. The audit log records execution decisions.
Configure policies and approvalsExample policy choices
- Read actions: allow where authorized
- google_workspace.create_draft: require approval
Arc0 MCP endpoint: https://api.arc0.ai/mcp
How Google Workspace connects.
Connect Google Workspace using OAuth. OAuth grants the provider scopes shown during consent; API keys and other credentials retain the permissions configured at the provider. Arc0 stores credentials in its encrypted vault and does not pass them to the model. Disconnect to remove access through Arc0; revoke a key at the provider to invalidate it there. Token refresh and provider-side revocation depend on the authentication lane and provider.
The connection serves authorized calls through Arc0 MCP and REST. How Arc0 handles credentials →
- AUTH
- OAuth
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use Google Workspace with your AI client.
Request access to Google Workspace first. An Arc0 administrator must enable it for your organization before these actions appear. Then authorize your AI client separately. It only receives tools and accounts allowed for that identity.
Google Workspace with Claude
Claude Desktop + Claude Code
- In Claude Desktop, add Arc0 through the remote MCP settings and use OAuth. Follow the generic remote-client steps if your account’s interface differs.
- For Claude Code, run the command below. Open /mcp, select Arc0, and authenticate in your browser. Select your workspace and review access.
- Check the connection with claude mcp get arc0.
claude mcp add --transport http --scope user arc0 https://api.arc0.ai/mcpFull MCP setup and troubleshootingGoogle Workspace with ChatGPT
ChatGPT on the web
- Open Plugins in ChatGPT, select the plus button, then Add custom MCP server.
- Name it Arc0, enter the server URL below, and choose OAuth. Use dynamic client registration if asked; no Arc0 API key is needed.
- Review the notice and select Create as a plugin. Complete Arc0 sign-in, workspace selection and consent, then install and select the plugin in your conversation. Labels and access vary by account; managed workspaces may require administrator approval.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingGoogle Workspace with OpenAI Codex
Codex app + CLI
- Run the registration command below. The app and CLI share ~/.codex/config.toml.
- Complete browser OAuth, choose your Arc0 workspace, and review access. If authentication does not start, run codex mcp login arc0.
- Check codex mcp list, then open a new Codex chat. Inspect an existing arc0 entry before changing it.
codex mcp add arc0 --url https://api.arc0.ai/mcpFull MCP setup and troubleshootingGoogle Workspace with Cursor
Remote MCP setup
- Add Arc0 in your client’s remote MCP settings using the server URL below.
- Choose OAuth, sign in to Arc0, select the intended workspace and review access.
- Confirm the server is connected and start with an allowed read. These are generic remote-MCP steps; consult your client’s settings for its current interface.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingGoogle Workspace with VS Code
Remote MCP setup
- Add a remote HTTP MCP server named Arc0 using the URL below.
- Use OAuth and finish Arc0 sign-in, workspace selection and consent.
- Confirm discovery succeeds before requesting a read. These are generic remote-MCP steps; client UI and availability may differ.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingGoogle Workspace with Any MCP client
Streamable HTTP
- Use a client that supports remote MCP over Streamable HTTP. Add the server URL below and choose OAuth.
- For a client without OAuth, use a self-bound API key with execute permission in the X-API-Key header. Store it in secret storage or an environment variable, outside source control. Never send both an API key and an OAuth bearer token.
- Use the MCP clients guide for the SDK transport example and Embedded identity for business-managed end users.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingAfter setup, ask your agent to find an allowed read action, load its schema, and execute it on the intended account. Check Activity for the receipt. A connected MCP client alone does not confirm a successful provider call.
Google Workspace and Arc0, answered.
Is there an official Google Workspace MCP server, and how does Arc0 differ?
Yes. Google documents product-specific Workspace MCP servers in its Developer Preview program. Arc0’s current tools use the Gmail, Calendar, and Drive APIs with the limited outputs listed here.
Which permissions does Arc0 need for Google Workspace?
OAuth requests openid plus Google scopes gmail.readonly, gmail.compose, calendar.calendarlist.readonly, calendar.events and drive.metadata.readonly, each under https://www.googleapis.com/auth/. The compose grant includes sending permission at Google, but Arc0 exposes no send action. Declined grants can prevent individual tools from working.
Does this work with Claude, ChatGPT, Codex and Cursor?
Yes, through Arc0 MCP when your Claude, ChatGPT, Codex, or Cursor client supports remote MCP and your account permits it. Connect the app in Arc0 and configure your client using the Arc0 setup guide. Early-access approval and app permissions still apply.
How are credentials stored, refreshed and revoked?
Credentials are encrypted in Arc0’s vault. Arc0 stores access and refresh tokens for offline access. Refresh can fail after expiry, revocation, or administrator changes. Disconnect is local because Google revocation can affect related grants; remove Arc0 in your Google account’s third-party access settings to revoke at Google.
What happens with rate limits or errors?
Gmail, Calendar, and Drive have different quotas. Arc0 reports throttling separately from missing permissions; a daily quota may require an administrator change. Check an event by ID after an uncertain creation, and inspect Gmail drafts before creating another copy.
What is the availability of these Google Workspace tools?
These tools are in early access and require access to the app in Arc0. The action list describes the current implementation, not general availability.
Request Google Workspace access.
Google Workspace MCP server: 11 actions including get identity, list messages, get message. Request early access through Arc0.
Free to build · MCP + REST · Audit log on every plan
Google Workspace and its logo are trademarks of their respective owners. Arc0 is not affiliated with or endorsed by Google Workspace.