Verified

Google Workspace MCP Server (Brett Adams)

Gmail, Drive, Calendar, and YouTube tools for direct AI actions via self-owned OAuth.

Data last scanned today · Reviewed today

182 dangerous tools23 tools0JavaScriptMIT

Overview

This MCP server provides 23 tools across five Google Workspace APIs, enabling local execution of write-heavy tasks like sending emails, managing calendar events, or interacting with YouTube data. By utilizing your own Google Cloud OAuth client, the server facilitates direct write access to your personal account, allowing for automated actions such as creating spreadsheets or updating subscriptions.

Our verdict

With a security score of 33/100, this server is considered high-risk. The score is impacted by the fact that the project is community-maintained rather than an official vendor release, and it has not undergone an independent editorial security review. While the author intentionally limits scopes to avoid a paid Google CASA security assessment, users must be comfortable managing their own OAuth credentials and re-authorizing tokens every seven days.

  • Uses minimal 3-dependency architecture for reduced supply-chain surface
  • Employs constrained scopes to limit potential data exposure
  • Maintains an active development cycle with recent commits
  • High bus-factor risk with only one contributor
  • Requires manual weekly re-authorization due to testing-mode constraints
  • Lacks an independent security or editorial audit

Setup

Claude Desktop
{
  "mcpServers": {
    "brettadams0-google-workspace-mcp": {
      "args": [
        "-y",
        "google-workspace-mcp"
      ],
      "command": "npx"
    }
  }
}

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.

  • No read-only mode — running this grants full read/write access.
  • No built-in authentication — anyone with access to this config can invoke every tool it exposes.

Tools

ToolDescriptionRisk
gmail_send_emailSend a real message — delivered immediately, not a drafthigh
gmail_create_draftCompose without sendingmedium
gmail_list_draftsList existing draftslow
calendar_list_eventsEvents in a time rangelow
calendar_create_eventCreate an event, optionally with attendeesmedium
calendar_update_eventModify an existing eventmedium
calendar_delete_eventRemove an eventhigh
drive_create_fileCreate a file in Drivemedium
sheets_read_rangeRead an A1-notation rangelow
sheets_write_rangeWrite an A1-notation rangemedium

Compatibility

ClientLocalDockerRemoteRead-only
ChatGPT
Claude Desktop
Cursor
VS Code
Windsurf

Frequently asked questions

What are the system requirements for this server?

You must have Node.js version 20 or higher installed.

Why does the authentication break after about seven days?

Because the Google Cloud project is in Testing mode, Google invalidates refresh tokens after seven days of inactivity. You can run the authorize command again to generate a new token.

Can this server read all my existing Google Drive files?

No, it uses the drive.file scope, which limits the server to accessing only files it has created itself.

Does this server read my entire Gmail inbox?

No, it only requests write-specific Gmail scopes like send and compose to avoid triggering a paid third-party security audit.

Are there any risks when using the provided tools?

Yes, some tools like gmail_send_email and calendar_create_event perform irreversible actions that are immediately visible to others, and the tool descriptions warn you when an action cannot be undone.

How do I ensure the server maintains my authentication session?

The server automatically listens for refresh token events and persists them to credentials/token.json, allowing it to handle token refreshes across restarts.

Alternatives

Badge

Google Workspace MCP Server (Brett Adams) security score, rated on RepoAI

Maintain this server? Add the live badge to your README.