gdocs
gdocs — Google-Docs-Review-Schleife für Claude Code
Ein MCP-Server, der Claude Code ermöglicht, ein Google Doc und dessen Kommentarthreads zu lesen und dann Korrekturen in dasselbe Doc unter derselben URL zurückzuschreiben.
Entwickelt für den Workflow, in dem Markdown im Repo die Quelle der Wahrheit ist und Google Docs nur die Review-Oberfläche darstellt. Er erspart den Kopier-und-Einfüge-Umweg: kein Einfügen des Entwurfs in Docs, kein Zurückkopieren des Review-Kommentare ins Terminal.
Der Server ist auf Benutzerebene installiert und funktioniert daher in jedem Projekt.
Voraussetzungen
Node 18+
Die
claude-CLIEin Google-Konto und etwa 10 Minuten in der Google Cloud Console
Related MCP server: Ultimate Google Docs & Drive MCP Server
Installation
git clone https://github.com/uma-victor1/gdocs-mcp.git
cd gdocs-mcp
./install.shDas installiert die Abhängigkeiten, überprüft, ob der Server startet, und registriert ihn bei Claude Code auf Benutzerebene. Die beiden folgenden Schritte für die Zugangsdaten erledigst du danach selbst.
1. Google Cloud, einmalig
Erstelle ein Projekt: https://console.cloud.google.com/projectcreate
Aktiviere Google Docs API und Google Drive API (APIs & Services > Library)
OAuth-Zustimmungsbildschirm: Der Benutzertyp External ist für ein persönliches Konto in Ordnung. Füge unter Zielgruppe deine eigene Adresse als Testnutzer hinzu – diesen Schritt zu überspringen ist der häufigste Grund, warum die Zustimmung fehlschlägt.
Anmeldedaten > Anmeldedaten erstellen > OAuth-Client-ID > Desktop-App > JSON-Datei herunterladen
Speichere die Datei als
~/.config/gdocs-mcp/credentials.json
Die Zugangsdaten liegen absichtlich außerhalb jedes Repos, damit git add -A sie niemals committen kann.
2. Autorisieren, einmal
npm run authGoogle warnt, dass die App unverifiziert ist. Das ist bei einer App mit einem einzigen Nutzer zu erwarten: Erweitert > Weiter zu ... (unsicher). Das Refresh-Token landet in ~/.config/gdocs-mcp/token.json, Modus 0600.
Starte Claude Code neu und bestätige danach mit claude mcp list.
Die 7-Tage-Neuautorisierung und warum
Solange sich der Zustimmungsbildschirm im Modus Testing befindet, lässt Google das Refresh-Token alle 7 Tage ablaufen. Das ist dokumentiertes Verhalten für externe Apps im Testmodus, kein Bug, und es gibt daran kein Weg vorbei für diesen Satz von Scopes: auth/drive ist ein eingeschränkter Scope, und die Veröffentlichung eines eingeschränkten Scopes in die Produktion erfordert eine CASA-Sicherheitsprüfung – das ist für ein Ein-Personen-Tool nicht sinnvoll.
So schlägt etwa einmal pro Woche ein Tool-Aufruf mit „Authorisation expired“ fehl. Beheben:
npm run authFünfzehn Sekunden. Wenn du ein Google Workspace-Konto hast, kannst du das vollständig vermeiden: Erstelle das Cloud-Projekt unter dieser Organisation und stelle den Benutzertyp des Zustimmungsbildschirms auf Intern um. Interne Apps haben keine 7-Tage-Ablauf und keine Liste von Testnutzern.
Tools
Tool | Wirkung |
| Durchsucht Drive nach Docs mit dem Titel |
| Body als Markdown + Kommentar-Threads, jeweils link zu Ankertext |
| Nur Kommentar-Threads – der einfache „Neues Feedback?“-Check |
| Exaktes Suchen und Ersetzen an Ort Sache; behält Kommentar-Anker |
| Fügt formatierten Absatz am Ende hinzu (Überschriftsebene, Schriftgröße, Farbe, fett/kursiv); fügt nur hinzu Anmerkungen, erhält Anker |
| Ersetzt den gesamten Body aus lokaler Datei; erfordert |
| Eine Antwort auf einen Thread zu posten |
| Löst einen Thread mit Abschlussnotiz auf |
| Neues Doc aus Markdown-Datei – einmal pro Artikel |
Alle Tools akzeptieren eine Doc-URL oder eine rohe fileId.
Der Kommentar-Anker-Kompromiss
Google verankert jeden Kommentar an einer Textstelle. Wird diese Stelle umgeschrieben, löst sich der Thread oder wird automatisch aufgelöst. Also:
Kleine Korrekturen →
replace_text. Anker überleben; Reviewer behalten ihren Kontext.Strukturelle Umschreibungen →
push_markdown. Schneller, aber Threadverlust luft. Sie liefert die Zahl der vorher offenen Threads, damit der Schaden sichtbar ist statt still unbemerkt bleibt.Hinzufügen statt umschreiben →
append_text. Es wird nur am Ende eingefügt, damit kein Text verschoben wird kein Anker bricht.Antwort bevor du überschreibst.
reply_commentsieht der Nachweis, was geändert wurde und warum.
Warum dieses und nicht ein Standard-Server
Ein MCP-Server, der ein OAuth-Token für Docs enthält, kann jedes Dokument im Konto lesen und neu schreiben. Es gibt kein First-Party-Google- oder Anthropic-Docs-MCP; jede veröffentlichte Lösung ist ein Drittanbieter-Paket von einem einzelnen Publisher. Das sind ~250 Zeilen auf Basis des Anthropic MCP SDK und der Google-Client-Bibliothek – klein genug, um es zu lesen, bevor man ihm vertraut.
Nur-Lese-Modus
claude mcp remove gdocs -s user
claude mcp add gdocs -s user -e GDOCS_MCP_READONLY=1 -- node "$PWD/server.mjs"Lesen funktioniert weiterhin; jedes Schreib-Tool verweigert die. Nützlich, wenn jemand anderes die Eigentümer eines Docs ist.
Fehlerbehandlung
Symptom | Fix |
„Not authorised yet“ |
|
| Die angemeldete Adresse ist kein freigegebener Tester. Füge ihn unter OAuth-Zustimmungsbildschirm > Zielgruppe > Testnutzer hinzu, matter, retry |
„Authorisation expired“ nach etwa Woche | Im Testmodus zu erwarten. |
| Aktiviere Docs-API und Drive-API auf diesem Cloud-Projekt |
„no refresh token“ | Widerrufe Zugriff unter https://myaccount.google.com/permissions und führe |
Server fehlt in Claude Code |
|
Doc wird als einfacher Text exportiert | Doc enthält Inhalt, den Google nicht als Markdown rendern kann; der Inhalt wird dennoch geliefert |
Du kannst den Server jederzeit unabhängig mit npm run smoke überprüfen.
Um ein einzelnes Tool ohne Claude Code zu benutzen:
node call.mjs read_comments '{"doc":"https://docs.google.com/document/d/FILEID/edit"}'Zugriff widerrufen
Öffne https://myaccount.google.com/permissions und lösche danach ~/.config/gdocs-mcp/token.json.
Aufbau
server.mjs the nine tools
google.mjs auth + Drive/Docs clients; credential paths
auth.mjs one-time interactive OAuth (npm run auth)
smoke.mjs starts the server, lists tools (npm run smoke)
call.mjs invoke one tool from the shell, for debugging
install.sh deps, verify, register at user scope
docs/guide.html the setup walkthrough as a standalone pageLizenz
MIT. Siehe LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Give Claude only the Google Drive files you choose. Every action logged.
Multiple Google accounts (Gmail, Calendar, Drive, Contacts, Tasks) in one Claude connector.
Multiple Google accounts (Gmail, Calendar, Drive, Contacts, Tasks) in one Claude connector.
Personal CRM for Claude. Contacts live as plain-text files in your own Google Drive.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects Claude to Google Docs, allowing users to list, read, create, update, search, and delete documents in their Google Drive through natural language interactions.1,192 npm1MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude Desktop to Google Docs and Google Drive, enabling comprehensive document reading, writing, formatting, structuring, and complete Drive file management including shared drives support through OAuth 2.0 authentication.7 npm3MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables Claude to interact with Google Docs to list, read, create, search, and update documents in a user's Google Drive. It provides a suite of tools and prompts for document management and content analysis using OAuth 2.0 authentication.1,192 npm-
- AlicenseNot gradedqualityDmaintenanceEnables Claude Code to interact with Google Workspace services (Drive, Docs, Sheets, Slides, Forms, Gmail) via OAuth 2.0 authentication and natural language commands.1MIT