Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Verified Googledocs MCP

von michaelrobertsuttonVersion 0.1.0i★ –iLäuft auf deinem Computer
Name in der Registryio.github.michaelrobertsutton/verified-googledocs-mcp

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

MCP server for Google Docs with verified writes — every mutation returns before/after proof.

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft auf deinem Computer
  • Transport: stdio
  • Kategorie: Dokumente, Tabellen & Büroarbeit

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
  • Das trägst du selbst ein: VERIFIED_GOOGLEDOCS_MCP_CREDENTIALS, VERIFIED_GOOGLEDOCS_MCP_AUDIT_EXCERPTS

Du brauchst

  • PyPIuv für Python installiert (für den Befehl uvx)

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "verified-googledocs": {
      "command": "uvx",
      "args": [
        "verified-googledocs-mcp"
      ],
      "env": {
        "VERIFIED_GOOGLEDOCS_MCP_CREDENTIALS": "your-value",
        "VERIFIED_GOOGLEDOCS_MCP_AUDIT_EXCERPTS": "your-value"
      }
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add verified-googledocs --env VERIFIED_GOOGLEDOCS_MCP_CREDENTIALS=your-value --env VERIFIED_GOOGLEDOCS_MCP_AUDIT_EXCERPTS=your-value -- uvx verified-googledocs-mcp

Trag die leeren Werte ein, bevor du ihn startest.

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "verified-googledocs": {
      "command": "uvx",
      "args": [
        "verified-googledocs-mcp"
      ],
      "env": {
        "VERIFIED_GOOGLEDOCS_MCP_CREDENTIALS": "your-value",
        "VERIFIED_GOOGLEDOCS_MCP_AUDIT_EXCERPTS": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "verified-googledocs": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "verified-googledocs-mcp"
      ],
      "env": {
        "VERIFIED_GOOGLEDOCS_MCP_CREDENTIALS": "your-value",
        "VERIFIED_GOOGLEDOCS_MCP_AUDIT_EXCERPTS": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Werte, die du selbst einträgst

  • VERIFIED_GOOGLEDOCS_MCP_CREDENTIALS env
    Path to the OAuth client-secret JSON. Defaults to ~/.config/verified-googledocs-mcp/credentials.json.
  • VERIFIED_GOOGLEDOCS_MCP_AUDIT_EXCERPTS env
    Set to a falsey value (0/false/no/off) to redact before/after content excerpts from the local audit log.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto michaelrobertsutton bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Im Vergleich mit anderen in Dokumente, Tabellen & Büroarbeiti

  • Mehr Sterne als 0 % der anderen 3532 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 14 % der anderen 3532 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 3532 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Verified Googledocs MCP sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.0) kam vor 5 Monaten in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Agent-Native Google Calendar - manage events, sync, and public booking

Läuft in der Cloud★ 7.620MITAktualisiert vor 2 Monaten
Installieren

Excel MCP Server

von haris-musa

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

Läuft auf deinem Computer★ 4.276MITAktualisiert vor 7 Tagen
Installieren

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

Läuft auf deinem Computer★ 847MITAktualisiert vor 4 Tagen
Installieren

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

verified-googledocs-mcp

An MCP server for Google Docs whose writes carry proof. Every mutating tool re-reads the affected content from the document after it writes and returns evidence of what actually changed: before/after excerpts, the match count, and the document revision before and after. A tool never reports success for an edit that did not land.

Status: all 20 tools are implemented, covered by an offline unit suite, and exercised against the real Google Docs and Drive APIs by the live test suite. The original fourteen passed the formal live acceptance gate; the gate is rerun before each release. Install with uvx verified-googledocs-mcp. See Status.

The problem

Driving Google Docs from an agent through a general Workspace MCP server tends to fail in quiet, expensive ways:

  • A findAndReplace meant for one tab silently edits every tab in the document.
  • A search returns "0 matches" because the document has curly quotes or a non-breaking space the query doesn't, with no hint why.
  • A replace meant for one occurrence hits a repeated sentence and collapses both.
  • A "resolve comment" call returns success while the comment stays open.
  • Listing comments misses suggested edits entirely.
  • A markdown merge injects garbled text that a human only catches days later.

Each of these has a procedural workaround: tell the agent to scope to a tab, retry with normalized quotes, re-read after every write, never trust a resolve result. Those instructions work until someone forgets one. This server moves the discipline into the protocol, where it is deterministic.

The verified-write contract

Every mutating tool runs the same pipeline: read the tab, locate the target, apply the edit under a revision precondition, read the tab again, and return evidence built from the second read. The return value is a claim about the document's state *after* the call, backed by a server-side re-read, not an echo of the API response.

// replace_text(doc_id, tab_id, find="teh", replace="the", expected_matches=1)

{ "applied": true, "match_count": 1, "rung": "exact", // which normalization rung matched "before": "...±200 chars around the edit, pre-write...", "after": "...the same span, re-read after the write...", "revision_before": "ALm37BX...", "revision_after": "ALm37Cy...", "audit_logged": true }

When something is wrong, the tool fails loud and *diagnosed*, with a typed error the agent can act on in one round trip rather than guessing:

{

"error_code": "MATCH_COUNT_MISMATCH", "message": "expected 1 match(es) but found 3 at rung 'exact'", "diagnostics": { "expected": 1, "actual": 3, "spans": [ /* every location */ ] }, "retryable": false }

What backs the guarantee
  • Tab-scoped by default. Editing tools require an explicit tab_id. There is no whole-document replace, so a one-tab edit can never leak into a cover letter or an appendix tab.
  • Normalization ladder. A search tries exact match, then curly/straight quote equivalence, then non-breaking-space and whitespace-run equivalence, then soft-hyphen stripping, and reports which rung matched. A zero-match result includes the nearest near-miss span it found.
  • Match-count guard. expected_matches defaults to 1. If the real count differs, the tool makes no edit and returns every match location.
  • Revision preconditions. Writes carry writeControl.requiredRevisionId from the pre-read, so a document that changed underneath the operation is rejected by the API rather than edited blind. Section ranges from find_sections are stamped with the revision they were computed at and refuse to apply once stale.
  • UTF-16 correct. Match spans are mapped to the UTF-16 code units the Docs API indexes by, so emoji, combining marks, and other astral characters don't shift an edit onto the wrong text.
  • Audit trail. Every mutation appends a line to a local JSONL log. The append is best-effort: it never fails a write, and if it can't be written the evidence says so (audit_logged: false).
Evidence by family

The guarantee is not one universal payload — it is a per-family invariant. Each family re-reads the document after the write and proves the property that family is responsible for. Every mutating tool also carries revision_before, revision_after, and audit_logged.

FamilyToolsProves
Text editreplace_textmatch_count equals expected_matches; rung names the normalization pass that matched; before/after are ±200-char excerpts of the edited span, the after re-read post-write
Style editformat_textruns_before/runs_after — the actual textRun style flags overlapping each matched span, not a text diff; content_mutated: false proven by compiled_request_kinds containing only updateTextStyle; style_mutated false on an idempotent re-run (no write is issued)
Markdown rangereplace_range_markdown, replace_tab_markdown, append_markdownstructural_match (the written markdown round-trips — including list nesting depth, ordered-vs-unordered, and link targets), input_blocks vs post_blocks counts, and a structural_diff list naming any mismatch; every response also carries write_status (not_written / written_unverified / written_verified) and retry_safe
Structuralinsert_imageinline_object_confirmed — a post-write scan found the inline object at the anchor paragraph
Comment stateadd_anchored_comment, reply_to_comment, resolve_commentthe re-queried resolved flag, reply_count, content, quoted_text, and author — a resolve that didn't land returns COMMENT_STILL_OPEN, never success
Tablereplace_table_row, insert_tablereplace_table_row: row_before/row_after re-read with cells_match; insert_table: table_confirmed plus the confirmed dimensions and first_row

The read and sync tools (read_document, list_tabs, find_sections, list_open_items, get_comment_thread, diff_tab_vs_file, list_tables, get_table) make no changes and carry no applied/evidence payload. export_pdf is also a read/export tool in this sense — it returns file facts (bytes_written, sha256, page_count) rather than an applied key, since nothing in the document changes.

Dry run

Eight mutating tools (replace_text, format_text, replace_range_markdown, replace_tab_markdown, append_markdown, insert_image, replace_table_row, insert_table) accept dry_run=true. No API write is issued; the response carries applied: false, an empty revision_after (no write, so no new revision), audit_logged: false, and — for replace_text — a predicted after excerpt computed by splicing the replacement into the pre-read, or — for format_text — a predicted runs_after computed by overlaying the requested style onto the pre-read runs. format_text additionally never issues a write at all when the matched text already carries every requested style value, dry run or not — that's the tool's normal idempotent no-op path, not specific to dry_run. For replace_table_row and insert_table, dry_run is authoritative for index validity: the same assembled request list is index-simulated whether dry_run is true or false, so a passing dry run always means the real write will pass too. Use it to confirm a locate resolves to the right span before committing the edit.

For the three markdown tools, dry_run is *also* authoritative for structure prediction (issue #65): before any batchUpdate, the compiled requests' own predicted block structure — nesting, ordered-vs-unordered, headings, tables — is compared against the parsed input markdown, identically in dry_run and the real write. A mismatch refuses with STRUCTURE_PREDICTION_FAILED *before* the document is touched, rather than mutating it and only then discovering post-write verification would have failed. Every response from these three tools — dry run, refused, or written — carries write_status, one of not_written (dry run, or a pre-flight refusal: INDEX_SIMULATION_FAILED, STRUCTURE_PREDICTION_FAILED, or the structural-loss guardrail), written_unverified (a batchUpdate was sent and accepted, but the post-write re-read did not confirm it matched — VERIFICATION_FAILED), or written_verified (confirmed) — plus a retry_safe boolean (false only for written_unverified, since a caller that retries a call whose mutation status is unconfirmed risks a second mutation on top of an unconfirmed first one; there is no automatic rollback — Docs has no revision-restore endpoint, and a compensating markdown rewrite would itself be lossy, so needs_manual_restore: true still means restoring from Docs version history). write_status/retry_safe are additive: the pre-existing applied field keeps its documented meaning unchanged.

All eight require a suggestion-free target tab. Every mutating tool computes its write indices against a suggestionsViewMode=PREVIEW_WITHOUT_SUGGESTIONS read, but the actual write always lands in the document's real index space, which includes pending suggestions. If the target tab has a pending suggested insertion or deletion, those two index spaces diverge and a write would land at the wrong offset — so every mutating tool refuses with SUGGESTIONS_PRESENT instead (both in dry_run and live), rather than risking a silent, wrong-offset write (issue #56). Accept or reject the pending suggestion in the Docs UI first, then retry.

Tools

Twenty focused tools, each described by *when* to reach for it, replace the slice of a 150-tool Workspace server that document workflows actually use.

Reading and structure
ToolWhat it does
read_documentRead a tab as markdown, as structured positions and style runs, or as a headings-only outline
list_tabsList tab IDs, titles, and nesting
find_sectionsFind headings and return their ranges, stamped with the document revision
list_tablesList every top-level table in a tab, with position, size, and preceding-heading context
get_tableRead one table's full cell grid
Editing (verified, tab-scoped)
ToolWhat it does
replace_textFind/replace within a tab, with the normalization ladder and match guard
format_textApply bold/italic/underline to a matched text span via updateTextStyle only — no content mutation, safe inside merged-cell tables
replace_range_markdownReplace a section range with markdown
replace_tab_markdownReplace a whole tab's content with markdown
append_markdownAppend markdown to a tab
insert_imageInsert an image at a quoted anchor or heading
replace_table_rowOverwrite one row of an existing table with plain-text cells, in place
insert_tableInsert a new table populated from rows, anchored like insert_image
Comments and suggestions
ToolWhat it does
list_open_itemsOpen comments and pending suggested edits; pass tab_id or include_all_tabs=true
get_comment_threadRead a comment's full reply chain
add_anchored_commentAdd a comment anchored to quoted text
reply_to_commentReply to a comment

| `resolve_co

Nur der Anfang wird gezeigt; den Rest findest du im Repo

PopNx fragen