google-workspace-mcp
google-workspace-mcp
Ein Projekt zum Aufbau von fünf unabhängigen Remote-MCP-Servern für Google Workspace: Gmail, Google Kalender, Google Drive, Google Tabellen und Google Docs.
Status: Pre-Alpha. Die MCP-Server sind noch nicht funktionsfähig. Das Repository enthält derzeit das Paketgerüst, fünf Platzhalter-Einstiegspunkte, den nachgelagerten OAuth-Zustandskern und unveränderliche Konfiguration pro Dienst.
Aktueller Status
Implementiert:
ein Python-Paket mit fünf Konsolen-Einstiegspunkten;
SQLite-gestützter nachgelagerter OAuth-Zustand;
OAuth-Client-Registrierung und PKCE;
Token-Bindung an eine kanonische
resource;Aktualisierung von Refresh-Tokens, Replay-Erkennung und Familien-Widerruf;
unveränderliche Zustands-Eigentumsmetadaten für Dienst und Ressource;
unveränderliche pro-Dienst-Konfiguration mit strenger Port- und Token-TTL-Validierung.
Alle fünf Konsolen-Einstiegspunkte sind Platzhalter und beenden mit einer Meldung, dass der Dienst nicht gebaut ist. Der HTTP/MCP-Transport, die Google-API-Integration, die Dienstwerkzeuge und die Bereitstellungskonfiguration sind noch nicht implementiert.
Related MCP server: google-workspace-mcp-advanced
Geplante Dienste
Die Tabelle beschreibt den Zielumfang. Diese Funktionen sind noch nicht verfügbar.
Dienst | Ziel-Funktionen |
| Nachrichten und Threads suchen und lesen, Labels, Anhänge, Entwürfe, Senden und Antworten |
| Kalender, Ereignissuche und -abruf, Verfügbarkeit, Ereigniserstellung und -aktualisierungen |
| Dateisuche, Metadaten, Ordnerinhalte, Download und Export |
| Tabellenmetadaten, Bereichslesen und -schreiben, Batch-Operationen |
| Dokumenterstellung, Struktur- und Textabruf, Einfügen und Ersetzen |
In der Zielarchitektur läuft jeder Dienst als separater Prozess mit eigenem MCP-Endpunkt, eigener Werkzeugregistrierung, eigenen Google-OAuth-Bereichen, eigenen Google-Anmeldedaten und eigenem nachgelagerten OAuth-Zustand.
Ziel-Autorisierungsarchitektur
Das Design verwendet zwei unabhängige Ebenen:
Client zu Dienst. Der MCP-Client verwendet OAuth 2.1 mit PKCE. Jedes Zugriffstoken ist an eine resource gebunden, und Refresh-Tokens rotieren mit Replay-Erkennung.
Dienst zu Google. Jeder Dienst verwendet separate Google-Anmeldedaten und die minimal erforderlichen OAuth-Bereiche. Google-Refresh-Tokens werden niemals an MCP-Clients zurückgegeben.
Nur der Zustandskern der ersten Ebene existiert heute. HTTP-Endpunkte und die zweite Autorisierungsebene sind nicht implementiert.
Technologie
Entwicklung Voraussetzungen
Git
Python 3.14
uv
Ein Google-Cloud-Projekt und OAuth-Client werden nach der Implementierung der Google-API-Integration erforderlich sein. Die aktuelle Version verwendet sie nicht.
Entwicklungseinrichtung
git clone https://github.com/hawkxdev/google-workspace-mcp.git
cd google-workspace-mcp
uv sync --devDie virtuelle Umgebung muss nicht aktiviert werden. Führen Sie Befehle über uv run aus.
Prüfungen
uv run --no-sync pytest -q
uv run --no-sync ruff check .
uv run --no-sync ruff format --check .
uv run --no-sync mypy srcDas Flag --no-sync ist erforderlich, wenn die installierte Abhängigkeitsversion überprüft wird. Ein einfaches uv run kann die Umgebung aus der Sperrdatei neu synchronisieren.
Struktur
Pfad | Zweck |
| Lebenszyklus des nachgelagerten OAuth-Zustands |
| unveränderliche pro-Dienst-Umgebungskonfiguration |
| fünf Platzhalter-Einstiegspunkte |
| OAuth-Kern- und Paket-Einstiegspunkt-Regressionen |
| Paketmetadaten, Abhängigkeiten und Werkzeugkonfiguration |
| Herkunft von angepasstem Code |
Mitwirken
Das Projekt befindet sich in der frühen Entwicklung. Bevor Sie eine wesentliche Änderung vornehmen, öffnen Sie ein Issue, das das vorgeschlagene Verhalten beschreibt. Änderungen dürfen die fünf Dienste nicht in einen Prozess zusammenführen, Anmeldedaten zwischen Diensten teilen oder eine OAuth-Umgehung einführen.
Herkunft
Das Projekt passt den OAuth-2.1-Kern von jimprosser/obsidian-web-mcp unter der MIT-Lizenz an. Siehe NOTICE für Details.
Der nachgelagerte OAuth-2.1-Kern basiert auf Revision 7e6a52d791a50e3bd533df1060217973ab5be1c8. Er enthält zusätzliche Korrekturen für Client- und Token-Lebenszyklen, Refresh-Token-Rotation, Replay-Erkennung und resource-Kanonisierung.
Die Obsidian-Speicher- und Git-Synchronisationsfunktionalität des ursprünglichen Projekts wurde nicht kopiert.
Dieses Projekt verwendet mcp>=2,<3. Das in MCP 2.0 entfernte Paket mcp.server.fastmcp ist nicht erforderlich; die zukünftige Zusammensetzung wird mcp.server.mcpserver verwenden.
Autor
Lizenz
MIT, siehe LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Permissioned access to Gmail, Drive and Calendar via the user's own Google account
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for Google Workspace APIs - Docs, Sheets, Drive, Gmail, and Calendar. Enables reading, creating, and editing Google Docs and Sheets, managing comments, reading emails, and viewing calendar events.3414 npm17MIT
- AlicenseBqualityDmaintenanceProduction-ready MCP server for Google Workspace providing broad coverage across Gmail, Drive, Calendar, Docs, Sheets, and more, with safe-by-default write operations and markdown-to-Google-Docs support.100MIT
- AlicenseCqualityAmaintenanceA multi-account Google Workspace MCP server that drives Gmail, Google Calendar, and Google Drive across any number of Google accounts in parallel from one server.422MIT
- FlicenseBqualityDmaintenanceMCP server providing full access to Google Workspace services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts) using OAuth authentication.1001-