← Back to directory
G

Google Workspace MCP

Community
Control Google Workspace with natural language.
Category
Collaboration #23 of 55
Stars
★ 3.4k Very popular
Transport
stdio (local process) · Streamable HTTP
Runtime
Python 3.10+ · Docker
Credentials
API key / credential required
License
MIT
Last commit
Tools
29
56FMRS · C

Based on the supplied repository material and server.json, this is an active third-party Google Workspace MCP server, version 1.22.2, distributed as the workspace-mcp PyPI package with stdio and streamable HTTP transports. It offers broad coverage, self-hosting, and an MIT license, but requires user-managed Google Cloud, OAuth, and API configuration; Google Chat has additional account and app-configuration requirements.

Strongest · Documentation 14/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
10/20
Maintenance
12/20
Documentation
14/20
Setup experience
12/20
Why each score
Reliability 8/20
The manifest declares a PyPI stdio package, but the supplied material contains no source files, CI workflows, or committed tests verifying initialization, tool-list handshake, dependency installation, or error handling. The README describes a very broad toolset and multiple transports, but that does not prove the declarations match runtime behavior. The score is therefore limited by missing execution evidence, possible manifest/documentation discrepancies, and unverified edge cases.
Security and permissions 10/20
The material describes OAuth, read-only mode, per-service permissions, path restrictions, stateless operation, and network-boundary controls, which are positive signals. However, it also states that dynamic client registration accepts any redirect URI by default, and exposes high-impact actions such as sending mail, changing sharing permissions, deleting resources, and executing Apps Script. No source evidence proves that dangerous actions require confirmation or that permission isolation and all data flows are enforced. No explicit red-line behavior is shown, but these unverified risks warrant substantial deductions.
Maintenance 12/20
The repository is not archived, has an MIT license, identifies a maintainer, reports version 1.22.2, and has substantial public issue activity, all of which indicate ongoing maintenance. The supplied material does not show commit history, release cadence, dependency-update practice, vulnerability response procedures, or a security contact, so a high score is not justified.
Documentation 14/20
The README covers installation, OAuth configuration, API enablement, tool tiers, environment variables, deployment modes, client connections, and several operational limitations. It also discloses the Chat account requirement, remote attachment limitation, and DCR redirect risk. Deductions apply because tool parameters and error semantics are incomplete, cost and quota guidance is limited, configuration is complex, and the uvx/same-name PyPI warning plus multiple launch modes may confuse users. README claims cannot substitute for source verification.
Setup experience 12/20
The documentation provides a reasonably clear path from runtime and uv/uvx installation through Google Cloud credentials to connections for mainstream clients. Setup still requires manually enabling multiple APIs, configuring OAuth consent and redirects, selecting transport and authentication modes, and handling extra Chat configuration. The lack of CI or test evidence prevents verification that installation and connection are reproducible, so the score remains within the static-review ceiling.

Static review · not runListed 2026-07-29

Read the FMRS scoring method →

Fit and risk

What it can accessReads local filesWrites / deletes local filesRuns commands or codeUses the networkChanges third-party account data

Best for

  • Individuals and teams needing access to several Google Workspace services.
  • Developers deploying by tool tier, service, or permission scope.
  • Organizations needing self-hosted, multi-user OAuth 2.1, or container deployments.
  • Developers who want to call MCP tools through a CLI.

Not for

  • Users requiring a server maintained by Google.
  • Users with only a personal @gmail.com account who need Google Chat.
  • Users unwilling to configure Google Cloud OAuth credentials or APIs.
  • Applications seeking unauthorized access to Google Workspace data.

Required permissions

  • Requires Google Cloud OAuth client credentials.
  • OAuth scopes depend on the enabled services and tools.
  • Supports read-only scopes, per-service granular permissions, and full access.
  • Write tools for Drive, Gmail, and other services require corresponding write permissions.
  • Google Chat requires a configured Chat app and a Google Workspace account.
  • Optional service-account mode requires service-account credentials and domain-wide delegation.

Risks and side effects

  • Full tools and write scopes may allow modifying, sending, deleting, or sharing user data.
  • For public deployments, unrestricted dynamic-client redirect URIs can create a phishing risk.
  • Stdio is a legacy fallback; OAuth 2.1 is recommended for remote or shared deployments.
  • Local attachments and credential stores write to configured local directories; stateless mode avoids file writes.
  • Google API quotas, OAuth consent configuration, and account permissions may limit functionality.
  • The Chat API is unavailable for personal Gmail accounts.

Setup

Before you start

Runtime:Python 3.10+ · Docker

GOOGLE_OAUTH_CLIENT_ID required OAuth client ID from Google Cloud Console; required.
GOOGLE_OAUTH_CLIENT_SECRET requiredsecret Secret for the same OAuth client, from Google Cloud Console.
FASTMCP_SERVER_AUTH_GOOGLE_JWT_SIGNING_KEY optionalsecret JWT signing key for OAuth 2.1 mode; generate with openssl rand -hex 32.
Other optional settings (4)
OAUTHLIB_INSECURE_TRANSPORT optional Set to 1 to allow OAuth over local HTTP for development only.
MCP_ENABLE_OAUTH21 optional Set to true to enable secretless OAuth 2.1 (PKCE) mode.
WORKSPACE_MCP_PORT optional Port for HTTP transport mode; example uses 8000.
GOOGLE_OAUTH_REDIRECT_URI optional OAuth callback URI, typically http://localhost:8000/oauth2callback.

You need Python 3.10+, uv/uvx, and OAuth 2.0 credentials in a Google Cloud project. Set GOOGLE_OAUTH_CLIENT_ID; confidential clients also set GOOGLE_OAUTH_CLIENT_SECRET. Run uvx workspace-mcp for stdio, or uvx workspace-mcp --transport streamable-http for the recommended HTTP mode. Modern clients should use streamable HTTP with OAuth 2.1; Claude Desktop can also connect through a Connector. Enable the required Google APIs and configure a Chat app separately; Chat requires a Google Workspace account.

claude_desktop_config.json
{"mcpServers":{"google_workspace":{"command":"uvx","args":["workspace-mcp"],"env":{"GOOGLE_OAUTH_CLIENT_ID":"your-client-id","GOOGLE_OAUTH_CLIENT_SECRET":"your-secret","OAUTHLIB_INSECURE_TRANSPORT":"1"}}}}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "google_workspace": {
      "command": "uvx",
      "args": [
        "workspace-mcp"
      ],
      "env": {
        "GOOGLE_OAUTH_CLIENT_ID": "your-client-id",
        "GOOGLE_OAUTH_CLIENT_SECRET": "your-secret",
        "OAUTHLIB_INSECURE_TRANSPORT": "1"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add google_workspace -e GOOGLE_OAUTH_CLIENT_ID=your-client-id -e GOOGLE_OAUTH_CLIENT_SECRET=your-secret -e OAUTHLIB_INSECURE_TRANSPORT=1 -- uvx workspace-mcp

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Start the server and ask the client to call search_gmail_messages; returning results from your inbox proves the OAuth connection works. You can also run uv run workspace-cli list to confirm tools are registered.

Troubleshooting

  1. Confirm Python 3.10+ and uv/uvx are installed.
  2. Check the OAuth client ID, client secret, redirect URI, and OAUTHLIB_INSECURE_TRANSPORT for development.
  3. Confirm that the required Google APIs are enabled in the Google Cloud project.
  4. If Chat tools fail, verify the Chat app name, avatar URL, and description, and use a Workspace account.
  5. Prefer --transport streamable-http for modern clients; OAuth 2.1 cannot be combined with --single-user or service-account mode.
  6. For remote servers, send Base64 attachment content instead of relying on a client-local file path.

Things to try

Once connected, you can ask your AI assistant things like:

  • Search my Gmail for recent unread messages and list their subjects
  • What events do I have on my calendar this week?
  • Find files in my Drive containing 'quarterly report' and read the content
  • Create a new Google Doc with a draft of the meeting notes

Tools 29

search_gmail_messages read-only
Search Gmail messages using Gmail query operators.
send_gmail_message writes
Send email messages with attachment support.
get_events read-only
Retrieve calendar events with time-range filtering.
manage_event writes
Create, update, or delete calendar events.
search_drive_files read-only
Search Drive files using query syntax.
get_drive_file_content read-only
Read Office, PDF, and image file content.
create_drive_file writes
Create files or fetch files from URLs.
manage_drive_access writes
Grant, update, revoke permissions, or transfer ownership.
Show 21 more tools
get_doc_content read-only
Extract text from Google Docs.
create_doc writes
Create new documents.
modify_doc_text writes
Insert, replace, and format document text.
read_sheet_values read-only
Read spreadsheet cell ranges.
modify_sheet_values writes
Write, update, or clear cells.
create_spreadsheet writes
Create new spreadsheets.
format_sheet_range writes
Apply cell colors, number formats, alignment, and font styles.
create_presentation writes
Create new presentations.
get_presentation read-only
Retrieve presentation details.
create_form writes
Create new forms.
list_form_responses read-only
List form responses with pagination.
list_tasks read-only
List tasks with filtering.
manage_task writes
Create, update, delete, or move tasks.
search_contacts read-only
Search contacts by name, email, or phone.
manage_contact writes
Create, update, or delete contacts.
get_messages read-only
Retrieve messages from Google Chat spaces.
send_message writes
Send messages to Chat spaces.
search_messages read-only
Search Chat history.
search_custom read-only
Perform web searches through Google Programmable Search Engine.
list_script_projects read-only
List accessible Apps Script projects.
run_script_function writes
Execute an Apps Script function with parameters.

Use cases

Search and process Gmail messages.
Manage calendar events and free/busy information.
Read and write Drive files, Docs, Sheets, and Slides.
Create and manage Forms, Tasks, Contacts, and Chat content.
Run cross-application automation through Apps Script.
Perform configurable web searches with Custom Search.

Supported clients

Claude Desktop
Claude Code
VS Code
LM Studio

Listed from the project's documentation, not tested by this site.

Overview

Google Workspace MCP Server is an MIT-licensed open-source MCP server and CLI tool that exposes Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat, Apps Script, and Custom Search through Google APIs. It supports progressive tool tiers, service selection, read-only mode, granular permissions, OAuth 2.0/2.1, and stateless operation for multi-user deployments.

Similar servers

Source revision 789730452b9c Data synced 2026-10-19 Read the FMRS scoring method