/ Verzeichnis / Playground / google_workspace_mcp
● Community taylorwilsdon ⚡ Sofort

google_workspace_mcp

von taylorwilsdon · taylorwilsdon/google_workspace_mcp

One MCP server for Gmail, Drive, Calendar, Docs, Sheets, Slides, Chat, Forms, Tasks, Contacts, Apps Script — with tiered tool loading to keep the context small.

taylorwilsdon/google_workspace_mcp is a Python MCP that wraps the Google Workspace APIs behind ~100 tools. OAuth 2.0 via your own Google Cloud project. Pick a tool tier (core / extended / complete) to control how many tools show up in your MCP client.

Warum nutzen

Hauptfunktionen

Live-Demo

In der Praxis

google-workspace.replay ▶ bereit
0/0

Installieren

Wählen Sie Ihren Client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Öffne Claude Desktop → Settings → Developer → Edit Config. Nach dem Speichern neu starten.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor nutzt das gleiche mcpServers-Schema wie Claude Desktop. Projektkonfiguration schlägt die globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Klicken Sie auf das MCP-Servers-Symbol in der Cline-Seitenleiste, dann "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Gleiche Struktur wie Claude Desktop. Windsurf neu starten zum Übernehmen.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "google-workspace",
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ]
    }
  ]
}

Continue nutzt ein Array von Serverobjekten statt einer Map.

~/.config/zed/settings.json
{
  "context_servers": {
    "google-workspace": {
      "command": {
        "path": "uvx",
        "args": [
          "google_workspace_mcp"
        ]
      }
    }
  }
}

In context_servers hinzufügen. Zed lädt beim Speichern neu.

claude mcp add google-workspace -- uvx google_workspace_mcp

Einzeiler. Prüfen mit claude mcp list. Entfernen mit claude mcp remove.

Anwendungsfälle

Praxisnahe Nutzung: google_workspace_mcp

How to triage your inbox to zero with AI labels and drafts

👤 Knowledge workers, execs ⏱ ~20 min intermediate

Wann einsetzen: Monday morning or post-vacation when your inbox is a war zone.

Voraussetzungen
  • Google Cloud project with Gmail API enabled — console.cloud.google.com > APIs > Gmail API > Enable
  • OAuth 2.0 Desktop credentials — Credentials > Create OAuth client > Desktop. Set GOOGLE_OAUTH_CLIENT_ID and _SECRET env vars
Ablauf
  1. Pull last week of unread
    Search Gmail for unread messages from the last 7 days. Group by sender category (team, external, vendor, newsletter).✓ Kopiert
    → Grouped counts + preview lines
  2. Auto-label + archive newsletters
    For the newsletter bucket, label them 'newsletter' and archive.✓ Kopiert
    → Count archived, thread ids
  3. Draft replies to the top-5 real threads
    For the 5 most important threads (client ask, blocker, decision needed), draft a concise reply. Do not send — just draft.✓ Kopiert
    → 5 drafts visible in Gmail

Ergebnis: Inbox under 20, drafts ready to review + send.

Fallstricke
  • AI sends replies instead of drafting — Always say 'draft only' in the prompt; disable send_gmail_message for untrusted sessions
Kombinieren mit: notion

How to prep for every meeting tomorrow from your calendar

👤 Anyone with back-to-back meetings ⏱ ~15 min beginner

Wann einsetzen: EOD before a heavy day.

Ablauf
  1. List tomorrow's events
    Get my calendar events for tomorrow. For each, show attendees and the meeting title.✓ Kopiert
    → Timeline of events
  2. For each meeting, find linked doc and recent emails
    For every meeting with an agenda link, open the doc and summarize. For each attendee, show the last email thread with them.✓ Kopiert
    → Per-meeting brief
  3. Dump into one doc
    Create a Doc 'Prep 2026-04-15' with a section per meeting.✓ Kopiert
    → Doc URL returned

Ergebnis: A single prep doc you can skim over coffee.

Fallstricke
  • External attendees' emails have PII — they go to your LLM provider — Strip to names only in prompts if you care
Kombinieren mit: notion

How to turn a Google Sheet into a read/write data source for agents

👤 Ops people running business processes on Sheets ⏱ ~15 min intermediate

Wann einsetzen: You don't want to migrate to a real DB yet but want AI to answer questions + log events.

Ablauf
  1. Describe the sheet layout
    Read tab 'Orders' in spreadsheet 1AbC... — tell me the schema.✓ Kopiert
    → Column list with types
  2. Answer a question
    Using read_sheet_values, how many orders in March were over $1000?✓ Kopiert
    → Numeric answer + cells consulted
  3. Append a row
    Append a new row: today's date, customer=acme, amount=1200, status=pending.✓ Kopiert
    → Appended row index

Ergebnis: Ad-hoc analytics + logging without leaving chat.

Fallstricke
  • Formulas recompute on write and may overwrite cells you care about — Use append_table_rows, not range writes, when adding data
Kombinieren mit: filesystem

How to generate a Google Doc from a markdown template

👤 Anyone generating proposals, reports, or templated docs ⏱ ~10 min beginner

Wann einsetzen: You want rich Docs output (tables, headers) without learning Google's API.

Ablauf
  1. Draft in markdown
    Write a client proposal for ACME based on [brief]. Output as markdown.✓ Kopiert
    → Markdown draft
  2. Convert to Doc
    Create a new Google Doc titled 'ACME Proposal 2026-04' with that content. Use create_doc then batch_update_doc to preserve formatting.✓ Kopiert
    → Doc URL

Ergebnis: A properly-formatted Doc you can share.

Fallstricke
  • create_doc only takes plain text — formatting needs a follow-up batch_update — Always use the two-step flow for rich docs

Kombinationen

Mit anderen MCPs für 10-fache Wirkung

google-workspace + notion

Mirror meeting prep docs into Notion for team visibility

For each meeting today, copy the Google Doc agenda into a new Notion page under 'Meeting Notes' with the date as title.✓ Kopiert
google-workspace + filesystem

Export a Drive folder to local disk as a backup

Download every file in Drive folder 'Client Contracts 2025' to /backups/drive/contracts-2025/.✓ Kopiert
google-workspace + github

Cross-reference GitHub issues with calendar standups

Before my 10am standup, list open GitHub issues assigned to me and attach the summary to today's standup event description.✓ Kopiert

Werkzeuge

Was dieses MCP bereitstellt

WerkzeugEingabenWann aufrufenKosten
search_gmail_messages query: str, max_results?: int Find messages by sender, subject, date 1 Gmail API call
draft_gmail_message to, subject, body, thread_id? Prefer draft over send for AI workflows 1 API call
send_gmail_message to, subject, body Only when user explicitly asks to send 1 API call (irreversible)
get_events calendar_id?, time_min, time_max Pull events in a window 1 Calendar API call
manage_event action, event_id?, summary?, attendees?, time? Create/update/delete events 1 API call
read_sheet_values spreadsheet_id, range Read a cell range 1 Sheets API call
append_table_rows spreadsheet_id, table_id, rows Safe append without overwriting formulas 1 Sheets API call
create_doc title, content? Start a new doc 1 Docs API call
batch_update_doc doc_id, requests[] Apply formatting after create_doc 1 Docs API call (batched)
search_drive_files query, max_results? Locate a file by name/owner 1 Drive API call

Kosten & Limits

Was der Betrieb kostet

API-Kontingent
Gmail: 250 quota units/user/sec. Sheets: 300 reads/min/user. Drive: 1000 queries/100s/user.
Tokens pro Aufruf
Tool list at 'complete' tier is huge (~100 tools); use 'core' tier to stay cheap
Kosten in €
Free with a Google account
Tipp
Run with --tool-tier core and switch to extended only when you actually need Slides/Forms/Script.

Sicherheit

Rechte, Secrets, Reichweite

Minimale Scopes: Only grant the scopes for the services you actually use (e.g. gmail.readonly, calendar.readonly)
Credential-Speicherung: GOOGLE_OAUTH_CLIENT_ID/_SECRET in env; refresh tokens persisted on disk
Datenabfluss: Your doc/email contents go through the MCP server to your chosen LLM provider
Niemals gewähren: gmail.send if you don't need to send drive (full) if drive.file suffices admin scopes

Fehlerbehebung

Häufige Fehler und Lösungen

invalid_grant / token has been expired or revoked

Delete the cached token file and re-run auth flow.

Prüfen: ls ~/.config/google_workspace_mcp/tokens
403 insufficient permission

Re-consent with the needed scope — the stored token doesn't have it yet.

API not enabled

Enable the specific API (e.g. Docs API) in Google Cloud Console for your project.

Quota exceeded for user

Gmail and Sheets have per-minute caps. Batch reads; back off with exponential retry.

Alternativen

google_workspace_mcp vs. andere

AlternativeWann stattdessenKompromiss
Official Gmail MCP (Anthropic remote)You want Anthropic-hosted OAuth with zero setupGmail only; no Drive/Docs/Sheets
zapier MCPYou already pay for Zapier and want zero configCosts money per call; latency higher

Mehr

Ressourcen

📖 Offizielle README auf GitHub lesen

🐙 Offene Issues ansehen

🔍 Alle 400+ MCP-Server und Skills durchsuchen