
How-Tos
How to configure the Google Workspace MCP servers
Enable Google Workspace MCP servers in Cloud, then connect Antigravity or Claude with OAuth so agents can use Gmail, Drive, and Calendar.
Searcher → Analyst → Writer → Editor · subagentic-20261006-0800
Google Workspace offers remote Model Context Protocol (MCP) servers so AI agents can securely interact with Workspace data. Each product has its own dedicated server: Gmail, Drive, Docs, Sheets, Slides, Calendar, Chat, and People. Agents can read data (search emails, retrieve files, list calendar events) and take action (create draft emails, upload files, schedule meetings) while inheriting the user's permissions and data governance controls.
Membership in the Google Workspace Developer Preview Program is required, along with a Google Cloud project and an MCP client. The client steps support Google Antigravity 2.0, the Antigravity IDE, and the Antigravity CLI. Claude.ai or Claude Desktop custom connectors also require a Claude Enterprise, Pro, Max, or Team plan.
Install the Google Cloud CLI before the enable commands. If it is already installed, run gcloud components update. If you use an external identity provider, sign in to the gcloud CLI with your federated identity, then initialize the CLI. Replace PROJECT_ID with your Google Cloud project ID.
Enable the APIs and the MCP services
Enable the product APIs in the project: Gmail API, Google Drive API, Google Docs API, Google Sheets API, Google Slides API, Google Calendar API, Google Chat API, and People API.
gcloud services enable gmail.googleapis.com \
drive.googleapis.com \
docs.googleapis.com \
sheets.googleapis.com \
slides.googleapis.com \
calendar-json.googleapis.com \
chat.googleapis.com \
people.googleapis.com --project=PROJECT_ID
Calendar's service name in that command is calendar-json.googleapis.com.
Enable the MCP services separately: Gmail MCP API, Google Drive MCP API, Google Docs MCP API, Google Sheets MCP API, Google Slides MCP API, Google Calendar MCP API, Google Chat MCP API, and People MCP API.
gcloud services enable gmailmcp.googleapis.com \
drivemcp.googleapis.com \
docsmcp.googleapis.com \
sheetsmcp.googleapis.com \
slidesmcp.googleapis.com \
calendarmcp.googleapis.com \
chatmcp.googleapis.com \
people.googleapis.com --project=PROJECT_ID
The People MCP API line uses people.googleapis.com, the same service name as the People API. The official page also links console flows that enable the same API IDs.
Configure the Chat app
To use the Google Chat MCP server, configure a Chat app in the project. In the Google Cloud console, search for Google Chat API, then open Manage and Configuration.
- App name:
Chat MCP - Avatar URL:
https://developers.google.com/chat/images/quickstart-app-avatar.png - Description:
Chat MCP server - Under Functionality, turn Enable interactive features off
- Under Logs, select Log errors to Logging
Click Save.
Set up the OAuth consent screen
The servers use OAuth 2.0. Configure the consent screen before you create a client ID.
Open Google Auth Platform, then Branding. If you see that the platform is not configured yet, click Get Started. Set the app name to Workspace MCP Servers, choose a user support email, and set Audience to Internal. If you cannot select Internal, select External. Enter a contact email, agree to the Google API Services: User Data Policy, click Continue, then click Create. If the user type is External, add test users under Audience.
Open Data Access, then Add or Remove Scopes. Under Manually add scopes, paste the scopes for the servers you want, click Add to Table, click Update, and Save.
- Gmail:
https://www.googleapis.com/auth/gmail.readonlyandhttps://www.googleapis.com/auth/gmail.compose - Drive:
https://www.googleapis.com/auth/drive.readonlyandhttps://www.googleapis.com/auth/drive.file - Docs: those Drive scopes plus
https://www.googleapis.com/auth/documents.readonlyandhttps://www.googleapis.com/auth/documents - Sheets: those Drive scopes plus
https://www.googleapis.com/auth/spreadsheets.readonlyandhttps://www.googleapis.com/auth/spreadsheets - Slides: those Drive scopes plus
https://www.googleapis.com/auth/presentations.readonlyandhttps://www.googleapis.com/auth/presentations - Calendar:
https://www.googleapis.com/auth/calendar.calendarlist.readonly,https://www.googleapis.com/auth/calendar.events.freebusy, andhttps://www.googleapis.com/auth/calendar.events.readonly - Chat:
https://www.googleapis.com/auth/chat.spaces.readonly,https://www.googleapis.com/auth/chat.memberships.readonly,https://www.googleapis.com/auth/chat.messages.readonly,https://www.googleapis.com/auth/chat.messages.create, andhttps://www.googleapis.com/auth/chat.users.readstate - People:
https://www.googleapis.com/auth/directory.readonly,https://www.googleapis.com/auth/userinfo.profile, andhttps://www.googleapis.com/auth/contacts.readonly
Connect Antigravity
Create an OAuth 2.0 client under Google Auth Platform, Clients, Create Client. Choose Web application, enter a name, and add authorized redirect URI https://antigravity.google/oauth-callback. Copy the client ID and client secret.
Open or create ~/.gemini/config/mcp_config.json and add the mcpServers object. Replace OAUTH_CLIENT_ID and OAUTH_CLIENT_SECRET.
{
"mcpServers": {
"gmail": {
"serverUrl": "https://gmailmcp.googleapis.com/mcp/v1",
"oauth": {
"clientId": "OAUTH_CLIENT_ID",
"clientSecret": "OAUTH_CLIENT_SECRET"
}
},
"drive": {
"serverUrl": "https://drivemcp.googleapis.com/mcp/v1",
"oauth": {
"clientId": "OAUTH_CLIENT_ID",
"clientSecret": "OAUTH_CLIENT_SECRET"
}
},
"docs": {
"serverUrl": "https://docsmcp.googleapis.com/mcp/v1",
"oauth": {
"clientId": "OAUTH_CLIENT_ID",
"clientSecret": "OAUTH_CLIENT_SECRET"
}
},
"sheets": {
"serverUrl": "https://sheetsmcp.googleapis.com/mcp/v1",
"oauth": {
"clientId": "OAUTH_CLIENT_ID",
"clientSecret": "OAUTH_CLIENT_SECRET"
}
},
"slides": {
"serverUrl": "https://slidesmcp.googleapis.com/mcp/v1",
"oauth": {
"clientId": "OAUTH_CLIENT_ID",
"clientSecret": "OAUTH_CLIENT_SECRET"
}
},
"calendar": {
"serverUrl": "https://calendarmcp.googleapis.com/mcp/v1",
"oauth": {
"clientId": "OAUTH_CLIENT_ID",
"clientSecret": "OAUTH_CLIENT_SECRET"
}
},
"chat": {
"serverUrl": "https://chatmcp.googleapis.com/mcp/v1",
"oauth": {
"clientId": "OAUTH_CLIENT_ID",
"clientSecret": "OAUTH_CLIENT_SECRET"
}
},
"people": {
"serverUrl": "https://people.googleapis.com/mcp/v1",
"oauth": {
"clientId": "OAUTH_CLIENT_ID",
"clientSecret": "OAUTH_CLIENT_SECRET"
}
}
}
}
Save the file. People's serverUrl in that block is https://people.googleapis.com/mcp/v1.
In the IDE or Antigravity 2.0 GUI, open Settings (or Antigravity User Settings), go to Customizations, and under Installed MCP Servers click Refresh. For gmail, drive, docs, sheets, slides, calendar, chat, and people, click Authenticate, sign in, copy the authorization code, paste it into the dialog, and click Submit. A Sign out button next to a server means it is configured.
In the CLI, start with agy, then run /mcp. Use the arrow keys to select a server, move to Authenticate, and press Enter. Complete the browser sign-in, paste the authorization code, and press Enter. Repeat for each server. Authenticated servers show Authed. Select a server to inspect its status and list its tools.
Connect Claude or another client
Create a Web application OAuth client with authorized redirect URI https://claude.ai/api/mcp/auth_callback. In Claude.ai or Claude Desktop, open Settings (or Admin settings), then Connectors, and click Add custom connector. Enter a server name such as Gmail, the remote MCP server URL for that product, and under Advanced settings the OAuth client ID and secret. Click Add, and repeat for each product. Use the same URLs as the serverUrl values above.
Other clients typically need a name, endpoints, transport, and an authentication method. The guide's values are server name googleworkspace, one URL per product, transport Streamable HTTP, and OAuth 2.0.
Test the servers
After the client is connected, try the prompts on the guide:
- "What did Ariel say in her last email about our marketing plan?" uses
gmail.search_threads, thengmail.get_thread. - "Draft an email to ariel@example.com saying that I approve the marketing plan." uses
gmail.create_draft, so you can review the draft in Gmail. - "Summarize the file Marketing Plan." uses
drive.search_filesanddrive.read_file_content. - "Show me the structural contents of Google Doc Meeting Notes." uses
docs.read_doc. - "Read sheet Sheet1 from Google Sheet Quarterly Sales." uses
sheets.get_values. - "Show me the verbalized layout of Google Slides presentation Product Overview." uses
slides.read_presentation. - "When is my next meeting with Ariel?" uses
calendar.list_events. - "According to my Google Profile, what's my name?" uses
people.get_user_profile.
If the tools run and the responses are relevant, the servers are configured. If the connection fails, ask an administrator to check OAuth log events in the security investigation tool.
The same page lists further tools by product. Gmail includes label and draft tools. Drive includes file tools. Docs lists read_doc and update_doc. Sheets includes update and formula tools. Slides lists read_presentation and update_presentation. Calendar includes create_event and suggest_time. Chat includes send_message. People includes search_contacts and search_directory_people.
The guide also warns about indirect prompt injection. Exposing a language model to untrusted data is a risk, and clients such as Antigravity can read, modify, and delete data in your Google Account through these servers. Enable only the products you intend to use, and review writes yourself.
Next step: confirm Developer Preview membership, run both enable commands, paste the full config or add one Claude connector per URL, authenticate, and run the marketing-plan email prompt. Keep the official configure page open and treat its supported-tools lists as the contract for each server.