- Ein Tool, mit dem sich die gesamte Google-Workspace-API über eine einzige CLI steuern lässt; unterstützt werden u. a. Drive, Gmail, Calendar, Sheets, Docs, Chat und Admin
- Basierend auf dem Google Discovery Service wird die Befehlsstruktur zur Laufzeit dynamisch erzeugt, sodass neue APIs automatisch übernommen werden
- Enthält über 100 Skills für AI-Agenten und unterstützt durch strukturierte JSON-Ausgaben die Integration mit LLMs
- Bietet verschiedene Authentifizierungsmethoden wie OAuth, Service Account und CI-Umgebungen und unterstützt Antwortsicherheit über Model Armor
- Eine auf Automatisierung ausgerichtete CLI für Menschen und AI, die die zentrale Verwaltung und Automatisierungseffizienz im Google-Workspace-Ökosystem erhöht
Überblick
gws ist eine integrierte CLI speziell für Google Workspace, mit der sich alle APIs wie Drive, Gmail, Calendar, Sheets, Docs, Chat und Admin über eine einzige Kommandozeile ausführen lassen
- Über den Google Discovery Service wird die Befehlsstruktur automatisch erzeugt; wenn neue API-Endpunkte hinzukommen, werden sie sofort übernommen
- Alle Ausgaben werden im strukturierten JSON-Format bereitgestellt, was die Anbindung an AI-Agenten oder Automatisierungsskripte erleichtert
- Das Projekt wird aktiv weiterentwickelt; vor v1.0 kann es noch zu größeren Änderungen kommen
Hauptfunktionen
- Bietet benutzerfreundliche CLI-Funktionen wie Tab-Vervollständigung, --help, --dry-run und automatische Paginierung
- Enthält für die Integration von AI-Agenten mehr als 100 Skills auf Basis von
SKILL.md
- Darunter mehr als 50 fortgeschrittene Rezepte für wichtige Dienste wie Gmail, Drive, Docs, Calendar und Sheets
- Nach Installation der Gemini-CLI-Erweiterung kann der Gemini-Agent
gws-Befehle und Skills direkt aufrufen
- Über den MCP-Servermodus (Model Context Protocol) lassen sich Workspace-APIs in Claude Desktop, Gemini CLI, VS Code usw. als Tools verfügbar machen
Authentifizierung
- Lokale interaktive Authentifizierung: Mit AES-256-GCM verschlüsselte Zugangsdaten werden im Keyring des Betriebssystems gespeichert
- Manuelle OAuth-Einrichtung: Clients können direkt in der Google Cloud Console erstellt werden
- Browser- und agentengestützte Authentifizierung: OAuth-Freigaben können manuell oder automatisch verarbeitet werden
- Authentifizierung für CI-/Server-Umgebungen: Zugangsdaten mit
gws auth export exportieren und über Umgebungsvariablen angeben
- Unterstützung für Service Accounts und vorab ausgestellte Tokens; Priorität: Token > Zugangsdaten-Datei > im Keyring gespeicherte Daten
AI Agent Skills
- Die im Repository enthaltenen über 100 Skills automatisieren einzelne APIs und allgemeine Workflows
- Mit dem Befehl
npx skills add lassen sich alle oder einzelne Skills installieren
- In OpenClaw-Umgebungen können Skills per symbolischem Link oder durch Kopieren synchronisiert werden
- Der Skill
gws-shared enthält eine automatische Installationsfunktion, falls die CLI nicht installiert ist
Gemini-CLI-Erweiterung
- Installation mit dem Befehl
gemini extensions install https://github.com/googleworkspace/cli
- Danach kann der Gemini-CLI-Agent
gws-Befehle und Skills direkt aufrufen
- Übernimmt die Authentifizierungsinformationen von
gws automatisch, sodass keine separate Anmeldung nötig ist
MCP-Serverfunktionen
- Mit dem Befehl
gws mcp lässt sich ein MCP-Server starten, der Workspace-APIs für MCP-kompatible Clients bereitstellt
- Beispiel:
gws mcp -s drive,gmail,calendar
- Jeder Dienst fügt 10 bis 80 Tools hinzu und kann passend zu den Tool-Limits des Clients (50–100) ausgewählt werden
- Mit den Flags
--workflows und --helpers können Workflows und Hilfstools offengelegt werden
Erweiterte Funktionen
- Multipart-Upload: Führt Datei-Upload und Metadaten-Erstellung gleichzeitig aus
- Paginierungssteuerung: Bietet die Optionen
--page-all, --page-limit, --page-delay
- Model-Armor-Integration: Scannt API-Antworten, um Prompt-Injection zu blockieren
- Steuerbar über die Umgebungsvariablen
GOOGLE_WORKSPACE_CLI_SANITIZE_TEMPLATE und GOOGLE_WORKSPACE_CLI_SANITIZE_MODE
Architektur
- Arbeitet mit einer zweistufigen Parsing-Struktur
- Identifikation des Dienstes über das erste Argument
- Abrufen des Discovery-Dokuments (24-Stunden-Cache)
- Erzeugen des
clap::Command-Baums
- Erneutes Parsen der Argumente und Durchführung der Authentifizierung
- Ausführen der HTTP-Anfrage
- Alle Ergebnisse (Erfolg, Fehler und Metadaten) werden in einer JSON-Struktur ausgegeben
Fehlerbehebung
- Wenn eine API nicht aktiviert ist, tritt der Fehler
accessNotConfigured auf
- Auf den Link im Feld
enable_url klicken, die API aktivieren und dann erneut versuchen
- Mit dem Befehl
gws auth setup können benötigte APIs automatisch aktiviert werden
Entwicklung und Bereitstellung
- Apache-2.0-Lizenz. Rust (99,5 %)
- Kein offizielles Google-Produkt, sondern ein inoffizielles Open-Source-Projekt
2 Kommentare
Anders als bei gog ist der Ansatz interessant, für alle Google-APIs dynamisch Befehle zu erzeugen.
Da der Entwickler Justin Poehnelt ist und er bei Google Workspace DevRel arbeitet, wirkt das umso vertrauenswürdiger.
Hacker-News-Kommentare
In der Welt von AI und MCPs scheint plötzlich Bewegung hineinzukommen, dass Unternehmen versuchen, ordentliche API/CLI-Tools zu bauen
Das scheint die CLI-Version von Workspace Studio zu sein
Es ist erfreulich zu sehen, dass Google sich daran orientiert, wie Entwickler Apps tatsächlich nutzen wollen
Ich halte das für deutlich besser als Google-Dashboards oder zusammengeschusterte Third-Party-Bibliotheken
Google sagt zwar, dass es keinen offiziellen Support gibt, aber intern dürfte es eher besser unterstützt werden als extern
GCP Next soll vom 22. bis 24. April stattfinden
Hoffentlich wird das Projekt auch danach weiter gepflegt
Ich frage mich, warum man zum Installieren eines
rust-BinärprogrammsnpmverwendetDa Agent Skills derzeit CLIs wollen, wäre es schön, wenn sich dieser Trend etabliert
Ich kann mir schon vorstellen, wie alle CTOs hektisch versuchen, das an ihre OpenClaw-Instanz anzuschließen
Dass sich die verfügbaren Befehle dynamisch ändern, wirkt wie ein Antipattern, aber vielleicht kann AI damit umgehen
Ich wünschte, Apple würde für iCloud denselben Ansatz verfolgen
Interessant, aber auch etwas beängstigend. Wenn das kein offizielles Google-Produkt ist, könnte es womöglich gegen die TOS verstoßen