google-workspace-unlimited
🚀 GoogleUnlimited Google Workspace Plattform
GoogleUnlimited ist ein umfassendes MCP-Framework, das eine nahtlose Google Workspace-Integration durch eine fortschrittliche Middleware-Architektur bietet. Es ermöglicht KI-Assistenten und MCP-Clients, mit Gmail, Google Drive, Docs, Sheets, Slides, Calendar, Forms, Chat, Photos und Contacts (People API) über eine einheitliche, sichere API zu interagieren.
Was es auszeichnet:
⚡ Code Mode standardmäßig – statt Ihren Client mit über 90 Tool-Schemas zu überfluten, stellt der Server 7 schlanke Meta-Tools bereit; die KI entdeckt Tools bei Bedarf und verkettet echte API-Aufrufe in einem einzigen Sandbox-
execute-Block.🚀 Start ohne Konfiguration – der Server läuft sofort ohne
.env-Datei; OAuth erfolgt erst bei der ersten Nutzung.🔧 Tool-Steuerung pro Sitzung – URL-basierte Dienstfilterung und sitzungsbezogenes Aktivieren/Deaktivieren, sodass jeder verbundene Client genau die Tools sieht, die er benötigt.
🎨 Template- und Karten-DSL-System – Jinja2-Makros und eine kompakte Kartenschreibweise verwandeln rohe API-Daten in reichhaltige E-Mails, Dashboards und Google-Chat-Karten.
🧠 Semantisches Gedächtnis – jede Tool-Antwort wird in Qdrant eingebettet und später mit natürlicher Sprache durchsuchbar.
📋 Inhaltsverzeichnis
Related MCP server: mcp-google-workspace
⚡ Schnellinstallationsanleitung
Was ist GoogleUnlimited?
GoogleUnlimited bietet KI-Assistenten Zugriff auf Google Workspace-Dienste über das Model Context Protocol (MCP). Es unterstützt 92+ Tools in 9 Google-Diensten und ermöglicht eine nahtlose Integration zwischen KI-Workflows und Google Workspace-Anwendungen mit revolutionären Leistungsverbesserungen.
🛠️ Installationsmethoden
Methode 1: Schnellinstallation über uvx (Empfohlen)
Der schnellste Weg, um loszulegen – direkt von PyPI installieren:
{
"mcpServers": {
"google-workspace-unlimited": {
"command": "uvx",
"args": ["google-workspace-unlimited"],
"disabled": false,
"timeout": 300
}
}
}⚡ Das war's! Der Server läuft standardmäßig im Stdio-Modus, perfekt für MCP-Clients wie Claude Desktop, Cursor, Roo usw. Code-Modus ist standardmäßig aktiviert, sodass Ihr Client 7 schlanke Meta-Tools anstelle von über 90 Schemas sieht.
Methode 1b: Claude Code Plugin (Server + Fähigkeiten)
Claude Code-Benutzer können den Server und die Fähigkeiten installieren, die Claude seine Karten-/E-Mail-DSL, den Code-Modus und die Qdrant-Suche in zwei Befehlen beibringen:
/plugin marketplace add dipseth/google_workspace_fastmcp2
/plugin install google-workspace-unlimited@riversunlimitedSiehe plugins/google-workspace-unlimited für Details.
Methode 2: Klonen und Entwicklungseinrichtung
Für Entwicklung oder Anpassung:
Klonen und einrichten:
git clone https://github.com/dipseth/google_workspace_fastmcp2.git cd google_workspace_fastmcp2 uv syncServer starten:
uv run python server.pyDer Server startet sofort mit keiner erforderlichen Konfiguration. OAuth-Anmeldeinformationen werden beim Start nicht benötigt – die Authentifizierung erfolgt erst, wenn Sie zum ersten Mal mit einem Google-Dienst interagieren.
Authentifizieren, wenn bereit:
Wenn Sie ein Google Workspace-Tool aufrufen, fordert der Server Sie auf, sich über das Tool
start_google_authzu authentifizieren. Dadurch wird ein browserbasierter OAuth-Ablauf geöffnet. Nach Abschluss werden die Anmeldeinformationen lokal gespeichert und über Sitzungen hinweg wiederverwendet.Um OAuth-Anmeldeinformationen vorzukonfigurieren (optional), erstellen Sie eine
.env-Datei:cp .env.example .envFügen Sie dann Ihre Google Cloud Console-Anmeldeinformationen hinzu:
# Option A: Client ID + Secret GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com GOOGLE_CLIENT_SECRET=your-client-secret # Option B: Downloaded JSON credentials file GOOGLE_CLIENT_SECRETS_FILE=credentials.jsonSiehe die Google Cloud Console-Einrichtungsschritte zum Erstellen von OAuth-Anmeldeinformationen und Aktivieren von APIs.
📚 Konfigurationsressourcen:
🔧 Vollständiger Konfigurationsleitfaden – Umfassende Referenz zu Umgebungsvariablen und Einstellungen
🤖 Claude.ai-Integrationsleitfaden – Einrichtung für die Verwendung des entfernten MCP-Servers von Claude.ai
🔒 HTTPS-Einrichtungsleitfaden – SSL-Zertifikatskonfiguration für sichere Verbindungen
⚙️ MCP-JSON-Konfigurationsleitfaden – Standard-MCP-Konfiguration für jeden kompatiblen Client
📋 Referenz der Umgebungsvariablen
Alle Umgebungsvariablen sind optional – der Server startet mit sinnvollen Standardwerten und ohne erforderliche .env-Datei. OAuth-Anmeldeinformationen werden nur benötigt, wenn Sie einen neuen Authentifizierungsablauf über start_google_auth starten.
Google OAuth (für die erstmalige Authentifizierung erforderlich):
Variable | Default | Description |
| (empty) | OAuth-2.0-Client-ID aus der Google Cloud Console |
| (empty) | OAuth-2.0-Client-Geheimnis |
| (empty) | Alternative: Pfad zur heruntergeladenen OAuth-JSON-Datei |
|
| Muss mit der Weiterleitungs-URI der Google Console übereinstimmen |
Geben Sie entweder
GOOGLE_CLIENT_ID+GOOGLE_CLIENT_SECREToderGOOGLE_CLIENT_SECRETS_FILEvor Ihrem ersten OAuth-Ablauf an. Nach der Authentifizierung werden die Anmeldeinformationen lokal gespeichert und diese Variablen werden nicht mehr benötigt.
Server:
Variable | Default | Description |
|
| Server-Bindungsadresse |
|
| Server-Port |
|
| HTTPS/SSL aktivieren |
| - | Pfad zum SSL-Zertifikat (erforderlich, wenn HTTPS aktiviert ist) |
| - | Pfad zum SSL-privaten Schlüssel (erforderlich, wenn HTTPS aktiviert ist) |
|
|
|
Sicherheit & Sitzungen:
Variable | Default | Description |
|
|
|
|
| Verzeichnis für gespeicherte Anmeldeinformationen |
| (empty) | Server-API-Schlüssel – wird auch für kryptografisch gebundene Anmeldeinformationsverschlüsselung (HKDF-SHA256) und die Generierung benutzerspezifischer Schlüssel verwendet |
|
| Sitzungs-Timeout bei Inaktivität |
| (empty) | Durch Kommas getrennte vertrauenswürdige E-Mail-Adressen |
Tool-Verwaltung:
Variable | Default | Description |
|
| Nur mit 5 geschützten aktivierten Tools starten |
| (empty) | Durch Kommas getrennte Dienste, die beim Start aktiviert werden sollen (z. B. |
|
| Code-Modus (Standard) – ersetzt den vollständigen Tool-Katalog durch 7 Meta-Tools + Sandbox- |
|
| FastMCP SkillsDirectoryProvider für dynamische Fähigkeitengenerierung aktivieren |
|
| Verzeichnis für generierte Fähigkeitendokumente |
|
| Maximale Tool-Antwortgröße in Bytes (0 = deaktiviert) |
| (empty) | Durch Kommas getrennte Tool-Namen, die begrenzt werden sollen (leer = alle) |
Qdrant-Vektordatenbank:
Variable | Default | Description |
|
| Qdrant-Vektordatenbank-URL |
|
| Qdrant-API-Schlüssel (verwenden Sie |
|
| Qdrant automatisch über Docker starten, wenn nicht erreichbar |
|
| Docker-Image für den automatischen Start |
|
| Container-Name für automatisch gestartetes Qdrant |
Sonstiges:
Variable | Default | Description |
| (empty) | Standard-Webhook-URL für Google-Chat-Karten-Tools |
|
| Cloud-Bereitstellungsmodus aktivieren (wechselt automatisch zu |
🔗 Client-Verbindungen
GoogleUnlimited unterstützt mehrere Verbindungsmethoden. Hier sind die zwei beliebtesten Möglichkeiten, um loszulegen:
🎯 Schnellstart-Optionen
Option 1: Cursor IDE (STDIO - Community-verifiziert ✅):
{
"mcpServers": {
"google-workspace": {
"command": "uv",
"args": [
"--directory", "/path/to/google_workspace_fastmcp2",
"run", "python", "server.py"
],
"env": {
"GOOGLE_CLIENT_SECRETS_FILE": "/path/to/client_secrets.json",
"MCP_TRANSPORT": "stdio"
}
}
}
}Option 2: HTTP Streamable (VS Code Roo, Claude Code, Claude Desktop, etc.):
# Start server in HTTP mode
uv run python server.py --transport http --port 8002Einfache Einzelverbindungskonfiguration:
{
"google-workspace": {
"type": "streamable-http",
"url": "https://localhost:8002/mcp",
"disabled": false
}
}Multi-Verbindungs-Setup – verbinden Sie denselben Client (oder mehrere Clients) mit demselben Server und verschiedenen Tool-Sets mithilfe von URL-Abfrageparametern:
{
"google-email": {
"type": "streamable-http",
"url": "https://localhost:8002/mcp?service=gmail"
},
"google-chat": {
"type": "streamable-http",
"url": "https://localhost:8002/mcp?service=chat"
},
"google-productivity": {
"type": "streamable-http",
"url": "https://localhost:8002/mcp?service=drive,docs,sheets,slides"
}
}Jede Verbindung erhält ihre eigene isolierte Sitzung, in der nur die angeforderten Service-Tools aktiviert sind. Sie können eine Sitzungs-ID außerdem mit ?uuid= festlegen, um denselben Sitzungszustand über Wiederverbindungen hinweg fortzusetzen:
{
"google-workspace": {
"type": "streamable-http",
"url": "https://localhost:8002/mcp?uuid=my-workspace&service=gmail,drive,calendar"
}
}Siehe URL-basierte Service-Filterung für die vollständige Liste der Abfrageparameter.
🤖 Claude Code & Claude Desktop
Claude Code (CLI) – ein einziger Befehl, mit dem veröffentlichten PyPI-Paket:
# Local stdio (recommended): uvx fetches and runs the server on demand
claude mcp add google-workspace -- uvx google-workspace-unlimited
# Or connect to an already-running HTTP server
claude mcp add --transport http google-workspace https://localhost:8002/mcpClaude Desktop (lokaler Entwicklungspfad) – fügen Sie Folgendes zu claude_desktop_config.json hinzu (Einstellungen → Entwickler → Konfiguration bearbeiten):
{
"mcpServers": {
"google-workspace-unlimited": {
"command": "uvx",
"args": ["google-workspace-unlimited"]
}
}
}Claude.ai / Claude Desktop (gehosteter Connector) – führen Sie den Server hinter einem öffentlichen HTTPS-Endpunkt aus (z. B. einem Cloudflare- oder ngrok-Tunnel) und fügen Sie ihn dann unter Einstellungen → Connectors → Benutzerdefinierten Connector hinzufügen mit Ihrer https://your-domain/mcp-URL hinzu. Der OAuth-2.1- und PKCE-Ablauf des Servers übernimmt die Authentifizierung, einschließlich der Weiterleitung an https://claude.ai/api/mcp/auth_callback. Siehe die Claude.ai-Integrationsanleitung für die vollständige Schritt-für-Schritt-Anleitung.
📚 Vollständiger Verbindungsleitfaden
Detaillierte Einrichtungsanleitungen, Fehlerbehebung und Konfigurationen für alle unterstützten Clients, einschließlich:
Claude Code CLI (HTTP & STDIO)
Claude Desktop
VS Code / Roo / GitHub Copilot
Claude.ai mit Cloudflare-Tunnel
Und weitere ...
🔗 Vollständiger Client-Verbindungsleitfaden – Umfassende Einrichtungsanleitungen, Fehlerbehebung und erweiterte Konfigurationen für alle unterstützten KI-Clients und Entwicklungsumgebungen
⚡ Code-Modus (Standard)
Der Code-Modus ist das Flaggschiff-Feature von GoogleUnlimited – und er ist standardmäßig aktiviert. Statt 90+ Tool-Schemas im Voraus zu laden (teuer in Bezug auf Tokens), sieht Ihr MCP-Client nur 7 Meta-Tools. Die KI entdeckt Tools bei Bedarf und verknüpft dann beliebig viele echte API-Aufrufe innerhalb eines einzigen isolierten Python-execute-Blocks.
Meta-Tool | Zweck |
| Tools nach Servicekategorie durchsuchen (Gmail, Drive, Kalender usw.) |
| BM25-gestützte Schlüsselwortsuche über Tool-Namen und -Beschreibungen |
| Vollständige Parameterschemas für ausgewählte Tools abrufen |
| Natürlichsprachliche Suche über zuvor gespeicherte Tool-Antworten (Qdrant-gestützt) |
| Eine vollständige gespeicherte Antwort anhand der Point-ID aus den Suchergebnissen abrufen |
| Aktuelle Tool-Nutzungsmuster und -Aktivitäten zusammenfassen |
| Einen isolierten Python-Block ausführen, der echte Tool-Aufrufe über |
Warum das wichtig ist:
💰 Massive Token-Ersparnis – 7 Schemas statt 90+, wobei vollständige Schemas nur für die tatsächlich verwendeten Tools abgerufen werden
🔗 Ein Round-Trip statt vieler – Suche → Filtern → Handeln erfolgt in einem einzigen
execute-Block, nicht in einer Kette von Client-Round-Trips🧰 Komplett ausgestattete Sandbox – 40+ eingebaute Helfer (
now(),days_ago(),to_json(),re_find(),gather_tools(), …) decken Datumsangaben, JSON, URLs, Regex, Mathematik und Batch-Aufrufe ab, ganz ohne Importe
# One execute block: find a Drive file, then email its link
files = await call_tool("search_drive_files", {"query": "Q4 report"})
link = files["files"][0]["webViewLink"]
result = await call_tool("send_gmail_message", {
"to": "manager@company.com",
"subject": "Q4 Report",
"body": "Here's the Q4 report: " + link,
})
return resultKlassischen Katalog bevorzugt? Deaktivieren Sie den Code-Modus, und jedes Tool wird direkt für den Client bereitgestellt:
ENABLE_CODE_MODE=false # expose the full 90+ tool catalog insteadCode-Modus und klassischer Katalog schließen sich gegenseitig aus – wenn der Code-Modus aktiv ist, werden direkte Tool-Aufrufe durch das Such- +
execute-Muster ersetzt. Discovery-Tools sehen immer den vollständigen Katalog, unabhängig von der Filterung auf Sitzungsebene.
🎯 Service-Funktionen
GoogleUnlimited unterstützt 10 Google-Workspace-Dienste mit 90+ spezialisierten Tools:
Service | Icon | Tools | Hauptfunktionen | Dokumentation |
Gmail | 📧 | 14 | Senden, Antworten, Labels, Filter, Suche, Allowlist | |
Drive | 📁 | 9 | Hochladen, Herunterladen, Freigabe, Office-Dokumente, Dateiverwaltung | |
Docs | 📄 | 4 | Erstellen, Bearbeiten, Formatieren, Batch-Operationen | |
Sheets | 📊 | 7 | Lesen, Schreiben, Formeln, Formatierung | |
Slides | 🎯 | 5 | Präsentationen, Vorlagen, Export | |
Calendar | 📅 | 9 | Ereignisse, Terminplanung, Teilnehmer, Zeitzonen | |
Forms | 📝 | 8 | Erstellung, Antworten, Validierung, Veröffentlichung | |
Chat | 💬 | 24 | Messaging, Karten, Spaces, Webhooks, Unified Cards | |
Photos | 📷 | 12 | Alben, Hochladen, Suche, Metadaten, intelligente Suche | |
People | 👤 | 4 | Name→E-Mail-Suche (Kontakte + Organisationsverzeichnis), Kontaktlabels |
📚 Ressourcen zur API-Dokumentation:
🔗 Vollständige API-Referenz – Umfassende Dokumentation für alle 92+ Tools über 10 Dienste hinweg
📧 Gmail-API-Leitfaden – E-Mail-Verwaltung, Labels, Filter und Suchoperationen
📁 Drive-API-Leitfaden – Dateioperationen, Freigabe und Verarbeitung von Office-Dokumenten
📊 Sheets-API-Leitfaden – Manipulation und Formatierung von Tabellendaten
📅 Calendar-API-Leitfaden – Ereignisplanung und Zeitzonenverwaltung
🧠 Middleware-Architektur
GoogleUnlimited verwendet eine Middleware-Architektur, die eine nahtlose Service-Integration, intelligente Ressourcenverwaltung und leistungsstarke Templating-Funktionen bietet.

🔧 Kernkomponenten der Middleware
🏷️ TagBasedResourceMiddleware: Intelligente Ressourcenermittlung mithilfe von URI-Mustern (
service://gmail/messages,user://current/email)🧠 QdrantUnifiedMiddleware: KI-gestützte semantische Suche über alle Tool-Antworten mit Vektor-Embeddings
🎨 TemplateMiddleware: Fortschrittliches Jinja2-Templatesystem für eine schöne, strukturierte Ausgabeformatierung
✨ Vorteile der Architektur
🔄 Einheitlicher Ressourcenzugriff: URI-basierter Zugriff auf Servicedaten ohne API-Aufrufe
🧠 Semantische Intelligenz: Suche in natürlicher Sprache über alle gespeicherten Antworten
🎨 Visuelle Exzellenz: Konsistente, schöne Ausgabeformatierung für eine optimale KI-Verarbeitung
💰 Token-Effizienz: Vorlagen-Makros reduzieren den Token-Verbrauch um 60–80 % durch strukturierte Datenausgabe
⚡ Leistung: 30-mal schneller als herkömmliche Ansätze durch intelligentes Caching
📚 Ressourcen zur Middleware-Dokumentation:
📖 Leitfaden zur Middleware-Architektur – Vollständige Dokumentation des Middleware-Systems und Implementierungsdetails
🏷️ TagBasedResourceMiddleware – URI-Muster-basierte Ressourcenermittlung und -verwaltung
🧠 QdrantUnifiedMiddleware – KI-gestützte semantische Suche und Vektor-Embeddings
🎨 TemplateMiddleware – Fortschrittliches Jinja2-Templatesystem für die Ausgabeformatierung
🔧 SessionToolFilteringMiddleware – Sitzungsweise Tool-Aktivierung/-Deaktivierung
🚀 Minimaler Tool-Start
Standardmäßig startet GoogleUnlimited mit nur 5 aktivierten geschützten Tools für optimale Leistung und Sicherheit. Clients können so nur die Tools aktivieren, die sie tatsächlich benötigen.
Geschützte Tools (immer verfügbar):
manage_tools– Tools global oder pro Sitzung aktivieren/deaktivierenmanage_tools_by_analytics– Analytikbasierte Tool-Verwaltunghealth_check– Serverzustand und Konfigurationsstatusstart_google_auth– OAuth-Authentifizierung startencheck_drive_auth– Authentifizierungsstatus überprüfen
Konfiguration:
# Default: Start with minimal tools (only 5 protected tools)
MINIMAL_TOOLS_STARTUP=true
# Optional: Pre-enable specific services at startup
MINIMAL_STARTUP_SERVICES=drive,gmail,calendar
# Disable minimal startup (enable all 92+ tools immediately)
MINIMAL_TOOLS_STARTUP=falseAktivieren von Tools zur Laufzeit:
# Enable all tools globally
manage_tools(action="enable_all")
# Enable specific tools
manage_tools(action="enable", tool_names=["search_drive_files", "list_gmail_labels"])
# List all registered tools (shows enabled/disabled status)
manage_tools(action="list")🔧 Sitzungsbezogene Tool-Verwaltung
GoogleUnlimited unterstützt die sitzungsweise Aktivierung/Deaktivierung von Tools, sodass verschiedene MCP-Clients unterschiedliche Tool-Verfügbarkeiten haben können, ohne andere verbundene Clients zu beeinträchtigen.
Hauptfunktionen:
Sitzungsisolation: Tools für eine Client-Sitzung deaktivieren, ohne andere zu beeinträchtigen
Nicht-invasiv: Sitzungsbezogene Operationen ändern niemals die globale Tool-Registrierung
Geschützte Tools: Zentrale Verwaltungstools (
manage_tools,health_checkusw.) bleiben immer verfügbarMiddleware-basiert: Verwendet
SessionToolFilteringMiddlewarefür Filterung auf Protokollebene
Nutzungsbeispiele:
# Disable tools for this session only (other clients unaffected)
manage_tools(action="disable", tool_names=["send_gmail_message"], scope="session")
# Disable all except specific tools for this session
manage_tools(action="disable_all_except", tool_names=["search_drive_files", "list_events"], scope="session")
# Re-enable all tools for this session
manage_tools(action="enable_all", scope="session")
# Global operations (original behavior, affects all clients)
manage_tools(action="disable", tool_names=["send_gmail_message"], scope="global")Antwortstruktur:
{
"success": true,
"action": "disable_all_except",
"scope": "session",
"enabledCount": 94,
"disabledCount": 0,
"toolsAffected": ["tool1", "tool2", "..."],
"sessionState": {
"sessionId": "f725be09...",
"sessionAvailable": true,
"sessionDisabledTools": ["tool1", "tool2"],
"sessionDisabledCount": 89
},
"message": "Kept 5 tools, disabled 89 tools for this session"
}📚 Skills-Anbieter
Wenn dies über ENABLE_SKILLS_PROVIDER=true aktiviert wird, generiert GoogleUnlimited Skill-Dokumente aus ModuleWrapper-Instanzen und stellt sie über FastMCPs SkillsDirectoryProvider bereit. Skills bieten strukturiertes Wissen, auf das LLMs bei komplexen mehrstufigen Aufgaben zurückgreifen können.
Derzeit unterstützte Module:
card_framework→gchat-cards-Skill (Google-Chat-Karten-DSL-Referenz, Komponentenhierarchie, Beispiele)
Konfiguration:
ENABLE_SKILLS_PROVIDER=true # Enable skill generation
SKILLS_DIRECTORY=~/.claude/skills # Output directory (default)Skills werden bei jedem Start automatisch neu generiert und sind über das FastMCP-Skillsystem sofort verfügbar.
🖥️ Tool-Verwaltungs-Dashboard
GoogleUnlimited enthält ein integriertes Tool-Verwaltungs-Dashboard, das über das ui://-Ressourcenschema der MCP-Apps bereitgestellt wird. Es bietet eine visuelle Oberfläche zur Überwachung und Verwaltung der Tool-Verfügbarkeit über Sitzungen hinweg.

Funktionen:
Nach Diensten gruppierte Tool-Ansicht – Tools, organisiert nach Google-Dienst (Gmail, Drive, Sheets usw.), mit Zählern
Sitzungsstatus auf einen Blick – Erkennen Sie auf einen Blick, welche Tools aktiviert, deaktiviert oder sitzungsbezogen deaktiviert sind
Filter-Chips – Schnelles Filtern nach Dienst, um sich auf relevante Tools zu konzentrieren
Live-Daten – Unterstützt durch
DashboardCacheMiddleware, die List-Tool-Ergebnisse zwischenspeichert, um sofortigen Zugriff auf die Ressourceui://data-dashboardzu ermöglichen
Das Dashboard wird automatisch über wire_dashboard_to_list_tools() mit allen List-Tools verbunden – keine Konfiguration pro Tool erforderlich.
🔗 URL-basierte Service-Filterung (HTTP-Transport)
Wenn Sie den HTTP/SSE-Transport verwenden, können Sie Tools direkt über URL-Abfrageparameter nach Dienst filtern – ganz ohne Code:
# Enable only Gmail tools
http://localhost:8002/mcp?service=gmail
# Enable Gmail + Drive + Calendar
http://localhost:8002/mcp?service=gmail,drive,calendar
# Resume a previous session
http://localhost:8002/mcp?uuid=your-session-id
# Resume session with specific services
http://localhost:8002/mcp?uuid=abc123&service=gmail,drive
# Disable minimal startup (enable all tools)
http://localhost:8002/mcp?minimal=falseVerfügbare URL-Parameter:
Parameter | Beispiel | Beschreibung |
|
| Kommagetrennte Liste der zu aktivierenden Dienste |
|
| Vorherige Sitzung per ID fortsetzen |
|
| Minimalen Startmodus überschreiben |
Verfügbare Dienste: gmail, drive, calendar, docs, sheets, slides, photos, chat, forms, people
📚 Ressourcen zur Sitzungs-Tool-Verwaltung:
🔧 SessionToolFilteringMiddleware-Leitfaden - Vollständige Dokumentation zur sitzungsbezogenen Tool-Verwaltung
🎨 Vorlagensystem
GoogleUnlimited verfügt über leistungsstarke Jinja2-Vorlagenmakros, die rohe Google-Workspace-Daten in optisch ansprechende, KI-optimierte Formate umwandeln.
🎯 Verfügbare Vorlagenmakros
Vorlagendatei | Makro | Zweck | Hauptfunktionen |
|
| Gmail-Label-Visualisierung | Interaktive Chips, ungelesene Zähler, direkte Gmail-Links |
|
| Kalender- & Ereignis-Dashboard | Primäre/freigegebene Kalender, anstehende Ereignisse, dunkles Theme |
|
| Kalenderereignis-Dashboard | Ereigniskarten, Zeit-/Ortsdetails, klickbare Links, dunkles Theme |
|
| Professionelle Berichte | Metriken, Tabellen, Diagramme, Unternehmensbranding |
|
| Rich-HTML-E-Mails | Mehrere Signaturen, Verläufe, responsives Design |
💡 Beispiele für Vorlagenmakros
Gmail-Label-Visualisierung - Listen von Labels in wunderschöne interaktive Chips verwandeln:
{{ render_gmail_labels_chips( service://gmail/labels , 'Label summary for: ' + user://current/email ) }}Kalender-Dashboard - Umfassende Kalenderübersichten erstellen:
{{ render_calendar_dashboard( service://calendar/calendars, service://calendar/events, 'My Calendar Overview' ) }}Kalenderereignis-Dashboard - Kalenderereignisse in wunderschöne, interaktive Ereigniskarten verwandeln:
{{ render_calendar_events_dashboard( service://calendar/events , 'Upcoming Events for: ' + user://current/email.email ) }}
Dieses Makro erstellt ein beeindruckendes dunkel gestaltetes Dashboard mit folgenden Funktionen:
📅 Interaktive Ereigniskarten: Jedes Ereignis wird als klickbare Karte dargestellt, die sich in Google Kalender öffnet
🕐 Intelligente Zeitanzeige: Formatiert automatisch ganztägige Ereignisse vs. terminierte Ereignisse mit Zeitzonenunterstützung
📍 Standortintegration: Zeigt Besprechungsorte und Links zu virtuellen Besprechungen an
👥 Teilnehmerinformationen: Zeigt Teilnehmerzahlen und Details zu Teilnehmenden an
✅ Statusindikatoren: Farbcodierter Status (bestätigt, vorläufig, abgesagt) mit visuellem Feedback
📱 Responsives Design: Für Mobilgeräte optimiertes Layout mit touch-freundlichen Interaktionen
🎨 Dunkles Theme-Styling: Professionelles Erscheinungsbild mit Verlaufs-Hintergründen und Hover-Effekten
Professionelle Dokumente - Berichte mit Metriken und Diagrammen generieren:
{{ generate_report_doc(
report_title='Q4 Performance Report',
metrics=[{'value': '$1.2M', 'label': 'Revenue', 'change': 15}],
company_name='Your Company'
) }}🔍 Makro-Erkennung & dynamische Erstellung
Alle verfügbaren Makros über das Vorlagenressourcen-System erkunden:
# Access the template://macros resource to discover all available macros
macros = await access_resource("template://macros")
# Returns comprehensive macro information with usage examples
# Access specific macro details
macro_details = await access_resource("template://macros/render_gmail_labels_chips")🎯 Dynamische Makro-Erstellung
Zur Laufzeit benutzerdefinierte Makros mit dem Tool create_template_macro erstellen:
# Create a new macro dynamically
await create_template_macro(
macro_name="render_task_status_badge",
macro_content='''
{% macro render_task_status_badge(status, size='small') %}
{% if status == 'completed' %}
<span class="status-badge status-completed {{ size }}">✅ Complete</span>
{% elif status == 'in_progress' %}
<span class="status-badge status-in-progress {{ size }}">🔄 In Progress</span>
{% else %}
<span class="status-badge status-pending {{ size }}">⏳ {{ status|title }}</span>
{% endif %}
{% endmacro %}
''',
description="Renders visual status badges for task states with appropriate icons",
usage_example="{{ render_task_status_badge('completed', 'large') }}",
persist_to_file=True
)
# Immediately use the newly created macro
await send_gmail_message(
html_body="Task Status: {{ render_task_status_badge('completed', 'large') }}"
)DSL-gestützte Makros — dynamische Makros können auch die Google-Chat-Karten-DSL-Notation einbetten, um umfangreiche, strukturierte Karten zu generieren. Die DSL-Symbole definieren das Kartenlayout, während Jinja2 die dynamischen Inhalte übernimmt:
{# workspace_dashboard.j2 — a dynamic macro that outputs a Google Chat card #}
{% macro workspace_dashboard(user_email, stats=None, quick_actions=None) %}
{% set username = user_email.split('@')[0] if user_email else 'User' %}
{% set default_stats = stats or [
{'label': 'Emails', 'value': '12 unread'},
{'label': 'Calendar', 'value': '3 meetings today'},
{'label': 'Tasks', 'value': '5 pending'}
] %}
§[δ×3, ℊ[ǵ×4], §[δ×2, Ƀ[ᵬ×3]]]
Welcome back, {{ username | title }}!
Your Workspace Overview:
{% for stat in default_stats %}
- {{ stat.label }}: {{ stat.value }}
{% endfor %}
Actions:
- Button: Open Gmail → https://mail.google.com
- Button: Open Calendar → https://calendar.google.com
- Button: Open Drive → https://drive.google.com
{% endmacro %}Die DSL-Zeile §[δ×3, ℊ[ǵ×4], §[δ×2, Ƀ[ᵬ×3]]] definiert die Kartenstruktur: ein Abschnitt mit 3 DecoratedText-Widgets, ein Grid mit 4 Elementen und ein verschachtelter Abschnitt mit 2 DecoratedText-Widgets und einer ButtonList mit 3 Schaltflächen. Die Jinja2-Vorlage füllt die Inhalte dynamisch aus – und da sie in templates/dynamic/ gespeichert wird, ist sie sofort für send_dynamic_card und andere Tools verfügbar.
Hauptfunktionen:
⚡ Sofortige Verfügbarkeit: Makros sind direkt nach der Erstellung verfügbar
🎯 Ressourcenintegration: Automatisch über
template://macros/macro_nameverfügbar💾 Optionale Speicherung: Makros zur dauerhaften Verfügbarkeit auf der Festplatte speichern
🔄 Vorlagenverarbeitung: Vollständige Jinja2-Syntaxvalidierung und Fehlerbehandlung
💬 DSL-Integration: Makros können Karten-DSL-Notation für umfangreiche Google-Chat-Karten ausgeben
🚀 Praxisnahe Verwendung
Vorlagen können direkt in Tool-Aufrufen verwendet werden, um eine schöne, strukturierte Ausgabe zu erzielen:
# Send a beautiful email with calendar dashboard
await send_gmail_message(
to="manager@company.com",
subject="Weekly Schedule Update",
html_body="{{ render_calendar_events_dashboard( service://calendar/events, 'My upcoming events') }}",
content_type="mixed"
)
# Generate and send a professional report
await create_doc(
title="Q4 Performance Report",
content="{{ generate_report_doc( report_title='Quarterly Results', company_name='GoogleUnlimited' ) }}"
)📚 Ressourcen zum Vorlagensystem:
🎨 Vorlagenverzeichnis - Vollständige Sammlung von Jinja2-Vorlagen und Makros
💌 Wunderschöne E-Mail-Vorlagen - Rich-HTML-E-Mail-Styling und Themes
🏷️ Gmail-Label-Karten - Interaktive Label-Visualisierung mit Chips
📅 Kalender-Dashboard - Ereigniszeitachse und Terminplanungsansichten
📄 Dokumentvorlagen - Strukturierte Dokumentformatierung
🗂️ Ressourcen-Erkennung
GoogleUnlimited bietet ein leistungsstarkes MCP-Ressourcensystem, das blitzschnellen Datenzugriff ohne API-Aufrufe durch intelligente URI-Muster ermöglicht.

🎯 Ressourcen-URI-Muster
Muster | Zweck | Beispiel | Rückgabe |
| Benutzer-Authentifizierungsstatus |
| Profil + Auth-Status |
| Verfügbare Dienstlisten |
| [Filter, Labels] |
| Alle Elemente in der Liste |
| Alle Gmail-Labels |
| Details zu bestimmten Elementen |
| INBOX-Label-Details |
| Aktuelle Elemente |
| Aktuelle Drive-Dateien |
| Semantische Suche |
| Relevante Antworten |
🏗️ Zentrale Ressourcendateien
resources/user_resources.py: Authentifizierung, Profile, Sitzungsverwaltung (1.812 Zeilen)resources/service_list_resources.py: Diensterkennung über TagBasedResourceMiddleware (446 Zeilen)middleware/qdrant_core/resources.py: KI-gestützte Suche und Analytik (319 Zeilen)
⚡ Blitzschneller Zugriff
# Instant Gmail labels (no API call needed)
labels = await access_resource("service://gmail/labels")
# Current user info from session
user = await access_resource("user://current/email")
# Semantic search across all tool responses
results = await access_resource("qdrant://search/gmail errors today")
# Recent calendar events
events = await access_resource("recent://calendar")📚 Dokumentation zum Ressourcensystem:
🗂️ Benutzerressourcen - Authentifizierung, Profile und Sitzungsverwaltung (1.812 Zeilen)
🏷️ Dienstlisten-Ressourcen - Diensterkennung über TagBasedResourceMiddleware (446 Zeilen)
🧠 Qdrant-Kernressourcen - KI-gestützte Suche und Analytik (319 Zeilen)
📋 Leitfaden zu Ressourcenmustern - Vollständige URI-Muster-Referenz und Verwendungsbeispiele
🧪 Test-Framework
GoogleUnlimited enthält umfassende Tests mit Client-Tests, die die MCP-Nutzung exakt so validieren, wie ein LLM sie erleben würde, sowie zusätzliche Test-Suiten. 559 Tests bestehen mit einer Erfolgsquote von 100 %.
🎯 Fokus der Client-Tests

Die Client-Tests sind die wichtigste Komponente – sie bieten deterministische Tests von MCP-Operationen mit echter Ressourcenintegration und standardisierten Mustern über alle 92+ Tools und 9 Google-Dienste. Diese Tests validieren sowohl die explizite E-Mail-Authentifizierung als auch die Middleware-Injektionsmuster.
🚀 Schnelle Testbefehle
# 🧪 Run all client tests (primary test suite)
uv run pytest tests/client/ -v
# 📧 Test specific service
uv run pytest tests/client/ -k "gmail" -v
# 🔐 Authentication required tests
uv run pytest tests/client/ -m "auth_required" -v🔬 Integration echter Ressourcen-IDs
Das Test-Framework ruft echte IDs aus Dienstressourcen für realistische Tests ab:
# Available fixtures for real resource testing
real_gmail_message_id # From service://gmail/messages
real_drive_document_id # From service://drive/items
real_calendar_event_id # From service://calendar/events
real_photos_album_id # From service://photos/albums
real_forms_form_id # From service://forms/forms
real_chat_space_id # From service://chat/spaces🔄 CI/CD-Pipeline
Automatisierte Tests und Veröffentlichung über GitHub Actions:
CI-Workflow: Wird bei jedem PR und Push auf main ausgeführt
Python 3.11- und 3.12-Matrix-Tests
Linting mit
ruff checkund Formatierung mitruff formatAusführung der vollständigen Test-Suite
TestPyPI-Veröffentlichung: Automatisierte Paketveröffentlichung für Tests
📚 Testressourcen:
📋 Leitfaden zum Client-Test-Framework - Vollständige Client-Test-Dokumentation und -Muster
🧪 Verzeichnis der Client-Tests - Echte Ressourcen-Integrationstests für deterministische MCP-Validierung
🤖 MCP-Client-Integration - Erfahren Sie mehr über MCP-Client-Muster und -Nutzung
🔐 Authentifizierungsmuster - Validierungstests für E-Mail- vs. Middleware-Injektion
🔒 Sicherheit & Authentifizierung
GoogleUnlimited implementiert Sicherheit auf Unternehmensniveau mit OAuth 2.1 + PKCE, erweiterter Sitzungsverwaltung und umfassenden Prüffunktionen.

🛡️ Authentifizierungsabläufe
🌐 MCP-Inspector-OAuth: MCP-Spezifikationskonform mit dynamischer Client-Registrierung
🖥️ Direkter Server-OAuth: Webbasierte Authentifizierung für den direkten Zugriff
🔧 Entwicklungs-JWT: Testmodus mit generierten Tokens
📁 Erweiterte Datei-Anmeldedaten: Dauerhafte Speicherung mit Verschlüsselungsoptionen
🔑 Benutzerdefinierte OAuth-Clients: Eigene OAuth-Anmeldedaten verwenden mit automatischem Fallback
🪪 Pro-Benutzer-API-Schlüssel: Einzelne Schlüssel, die beim Abschluss der OAuth-Authentifizierung generiert werden, mit Isolierung der Anmeldedaten
✨ Sicherheitsfunktionen
🔐 OAuth 2.1 + PKCE: Moderne Authentifizierung mit Schlüsselnachweis-Austausch (unterstützt öffentliche Clients)
🔑 Pro-Benutzer-API-Schlüssel: Eindeutige, widerrufbare Schlüssel pro Benutzer mit Nur-Hash-Speicherung und timing-sicherer Suche
🛡️ Isolierung der Anmeldedaten: Zugriffskontrolle basierend auf der Authentifizierungsherkunft verhindert die Vererbung von Anmeldedaten zwischen Benutzern
🔗 Kontoverknüpfung: Bidirektionale Kontoverknüpfung für den Mehrkonten-Zugriff mit Pro-Benutzer-Schlüsseln
🔒 Krypto-gebundene Verschlüsselung: Abgeleitete HKDF-SHA256-Verschlüsselungsschlüssel, die an
MCP_API_KEYgebunden sind🔒 Sitzungsisolierung: Multi-Tenant-Unterstützung zur Verhinderung von Datenlecks
🏷️ 27+ API-Umfänge: Granulare Berechtigungsverwaltung über alle Dienste hinweg
📊 Prüfprotokollierung: Vollständige Sicherheitsereignisverfolgung mit Authentifizierungsherkunft
🔐 AES-256-Verschlüsselung: Speicherung von Anmeldedaten mit Unterstützung für die Migration von Legacy-Schlüsseln
🔄 Drei-Ebenen-Fallback: Robuste Persistenz der Anmeldedaten über Server-Neustarts hinweg (State Map → UnifiedSession → Context Storage)
🧹 Entfernung sensibler Daten: Auth-Metadaten werden aus Qdrant-Embeddings vor der Speicherung entfernt
⚙️ Sicherheitskonfiguration
# 🔒 Security settings in .env
CREDENTIAL_STORAGE_MODE=FILE_ENCRYPTED
SESSION_SECRET_KEY=your-secret-key
SESSION_TIMEOUT_MINUTES=30
ENABLE_AUDIT_LOGGING=true
GMAIL_ALLOW_LIST=trusted@example.com📚 Ressourcen zur Sicherheitsdokumentation:
🛡️ Unified-OAuth-Architektur - Vollständige Sicherheitsarchitektur und Authentifizierungsdesign
🔐 OAuth-2.1-+-PKCE-Implementierung - Moderne Authentifizierung mit Schlüsselnachweis-Austausch
🏠 Leitfaden zur Sitzungsverwaltung - Multi-Tenant-Unterstützung und Sitzungsisolierung
🔒 Verschlüsselung & Speicherung - AES-256-Verschlüsselung von Anmeldedaten und maschinenspezifische Schlüssel
📊 Prüfprotokollierungssystem - Vollständige Sicherheitsereignisverfolgung und -überwachung
🚀 Bereit, Ihre Google-Workspace-Integration zu revolutionieren?
📚 Dokumentation • 🔧 Konfiguration • 🎯 API-Referenz • 🧪 Tests
Maintenance
Related MCP Servers
- Apache 2.0
- AlicenseBqualityAmaintenanceMCP server integrating multiple Google Workspace services including Gmail, Calendar, Drive, Sheets, Docs, Tasks, People, Forms, and Slides, enabling users to manage emails, events, files, documents, and more through natural language.15MIT
- AlicenseBqualityCmaintenanceComprehensive Google Workspace MCP server with Gmail, Drive, Calendar, and Contacts integration.2612MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that exposes 17 Google Workspace APIs (e.g., Gmail, Drive, Calendar) as auto-generated tools for AI assistants, enabling natural language control of Google services.
Related MCP Connectors
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dipseth/google_workspace_fastmcp2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server