Skip to content
Agentmart
Submit a tool

Google Docs MCP

Google Docs as MCP tools: read, edit, suggest and comment on documents.

Connector by mmedum · GitHub account verified by the MCP Registry

IndexedApache-2.0Local (stdio)
Write a review

Install

Works with Claude Desktop. Read the repository before you give any tool access to your data.

Download the bundle

MCP bundle (.mcpb): open it with Claude Desktop.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Google Docs as MCP tools: read, edit, suggest and comment on documents.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
10 read · 7 write · 3 delete · 3 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Downloaded binary

Tools by what they do 23

Read from the source code; the running server may list different tools.

Read 10 · Look things up without changing anything.

  • diff_revisions
  • find_in_document
  • format_document
  • get_document
  • get_outline
  • list_comments
  • list_revisions
  • list_suggestions
  • read_document
  • search_documents

Write 7 · Create, change, send or run things.

  • add_comment
  • create_document
  • edit_document
  • edit_table
  • manage_tabs
  • reply_comment
  • write_markdown_file

Delete 3 · Delete, drop, revoke or wipe things.

  • delete_comment
  • delete_tab
  • insert_object

Not yet classified 3 · We could not tell from the name and description.

  • export_document
  • layout_document
  • review_suggestion

Network hosts it talks to 1

  • github.com · found in install command

Tools (23)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_comment

    Post a comment on a Google Doc. With a target (exact text, heading_id, handle or cell) the comment is pinned to that passage; if Google refuses the comments view for the document it quotes the text instead and the editor shows it unanchored, which the result says. Without a target it is a comment on the document as a whole. Nothing in the document text changes. To propose an edit as a comment, use edit_document with mode comment. On a Markdown file (.md) the comment is written into the file under the signed-in account's name, the way the Docs editor writes its own, and needs a target. dry_run …

  • create_document

    Create a new Google Doc in the signed-in account's Drive, optionally with initial content written as markdown (headings, formatting, lists, tables, images). Returns the id and URL. Initial content is written directly because a new document has nothing to suggest against. With kind markdown_file it makes a Markdown file (.md) instead, holding the content as written; such a file is edited as text. With from_file it makes a working copy of a Markdown file: a Google Doc holding its text, for working in together live with every write mode, which write_markdown_file writes back into the file.

  • delete_comment

    Delete a comment thread, or one reply of it, from a Google Doc. Only the author can delete; a resolved thread is usually the better outcome (reply_comment with action resolve). Pass confirm_comment_id repeating comment_id exactly, and text_start, how the text it deletes begins as list_comments shows it; the call is refused otherwise. dry_run looks the comment up, checks both and stops.

  • delete_tab

    Delete a tab of a Google Doc together with everything in it and any child tabs. Irreversible through this server (version history keeps the content). A document keeps at least one tab. Pass confirm_tab repeating the tab exactly, or the call is refused; dry_run resolves the tab and stops.

  • diff_revisions

    Show what changed between two revisions of a Google Doc as a unified diff of Google's markdown (or plain text) export, with line counts per hunk. Pass from (older) and optionally to (newer, default current). Use list_revisions to pick ids.

  • edit_document

    Change the text of a Google Doc with one batch of operations. Address content by exact text (quoted from a read), by heading_id or heading (a whole section), by block handle, or by cell; never by position numbers. Ops: insert (at a location), append (end of body), replace (minimal diff, so untouched words keep their formatting and comments), delete, replace_all (find/replace in one tab, by text or regex), insert_break (page break), insert_footnote, create_header, create_footer, delete_header, delete_footer (target: tab and segment), and the named-range ops: create_named_range names a target so…

  • edit_table

    Create and change tables in a Google Doc. Ops: insert_table (rows, columns, optional data grid, at a location), set_cells (write cells by name or as a grid from start_cell; each cell is replaced by minimal diff), insert_rows, delete_rows, insert_columns, delete_columns, merge_cells, unmerge_cells, style_cells (background, vertical alignment, padding), style_columns (fixed width in points, or share the width evenly), style_rows (least height, keep a row off a page break), pin_header_rows (repeat the first n rows on every page). Tables are named by handle (tbl1) from a read with with_handles; ce…

  • export_document

    Export a Google Doc through Google's converters. md, txt and html come back inline (budgeted by max_chars); pdf, docx, odt, rtf and epub are written as new files under the server's export directory, never over a file already there, and the path is returned. The markdown export is Google's own rendering, useful for a faithful whole-document dump; read_document is better for working with sections.

  • find_in_document

    Find text or a regular expression in a Google Doc and return every match with its block handle, offset and surrounding context. Use it to locate passages before targeting them with edit_document (quote the matched text as the target) and to check how many times a phrase occurs.

  • format_document

    Change formatting in a Google Doc without changing its text: text_style (bold, italic, underline, strikethrough, small caps, font, size, color, highlight, link, superscript), paragraph_style (named style such as HEADING_2 or NORMAL_TEXT, alignment, line spacing, spacing, indents), bullets (bullet, numbered, checkbox, or none), and clear_formatting. Targets work as in edit_document. This styles the passages you target: to restyle every paragraph carrying a style at once, and everything written with it later, redefine the style itself with layout_document's named_style op. Same mode, dry_run and…

  • get_document

    Get metadata and structure counts for a Google Doc: title, tabs, the current revision id, owner, last modification, paragraph and word counts, pending suggestion count, and this server's capabilities (whether suggestion mode is available, the default write mode, read-only). Per tab it also reports what no read of the text shows: page setup, floating images, named ranges, and the named style definitions the tab's paragraphs carry (the font, size, color and spacing every heading or body paragraph inherits, with how many paragraphs of that tab carry each, headers and footnotes included; layout_do…

  • get_outline

    Return the heading tree of a Google Doc per tab: each heading's stable heading_id, block handle, level, text, and the size of its section in blocks and words, plus per-tab counts of paragraphs, tables, headers, footers and footnotes. Use it to pick a section to read with read_document (pass heading_id) instead of reading a long document whole, and to learn block handles. Cheap.

  • insert_object

    Insert, replace or delete a non-text object in a Google Doc. action insert (default) adds an image from a public URL (optionally sized in points), a person chip (email), a rich-link chip to a Google resource (Drive file, Calendar event, YouTube video), or a date chip at a location; objects go inline in a paragraph, so use edit_document for the surrounding text. action replace swaps an existing image's source while it keeps its place and size (crop center-crops the new image instead of resizing the frame). action delete removes an object, including a floating image, which no text range covers a…

  • layout_document

    Change how a Google Doc is laid out rather than what it says. Ops: page (page size, margins, background color, landscape, where page numbering starts, whether the first and even pages get their own header and footer, pageless), section (the same for one section, plus 1-3 columns with an optional separating line and the gap between them), section_break (start a new section at a location, continuous or on the next page), and named_style (redefine NORMAL_TEXT, TITLE, SUBTITLE or HEADING_1 … HEADING_6 for the whole tab, which restyles every paragraph carrying that style and everything written with…

  • list_comments

    List the comment threads of a Google Doc with their full history: author, time, quoted text, the block handle the comment sits on, resolved state, who it is assigned to, and every reply (including resolve and reopen actions). Resolved threads are included unless hide_resolved is set; deleted ones only with include_deleted. Thread ids feed reply_comment and delete_comment. On a Markdown file (.md) the comments made in the Docs editor live in the file, the line they sit on is shown as [L12], and the id of one written by this server changes each time the file is written until a person saves it in…

Show 8 more tools
  • list_revisions

    List a Google Doc's version history, newest first: revision id, time and who changed it. These ids feed diff_revisions and read_document's revision parameter; they are Drive revision ids, not the revision_id that reads and writes return for concurrency control. Drive may omit older revisions of busy documents.

  • list_suggestions

    List pending suggested edits (tracked changes) in a Google Doc: id, kind (insert, delete, replace, structure, format), the inserted, deleted and restyled text, the block handle, and, where Google includes them, the author and status, and the replies on its thread. A format suggestion changes only formatting and says what it restyles, as "text: bold" or "paragraph: alignment". Ids feed review_suggestion, and reply_comment with suggestion_id.

  • manage_tabs

    Add, rename or move a tab of a Google Doc. add takes a title, optional position, parent tab, emoji and initial markdown content; rename changes the title or emoji; move changes the position among siblings or nests the tab under a parent. Tab changes are always direct edits (the API cannot suggest them). Other tools address tabs by id, title or number; get_document lists them.

  • read_document

    Read part or all of a Google Doc as markdown (default), plain text, or raw Docs API JSON. Scope it to one section with heading_id (from get_outline) or heading text, to a block range with from_handle/to_handle, to another tab with tab, or to a header, footer or footnote with segment; with no scope it reads the whole body of the first tab. Output is budgeted by max_chars (default 20000 characters); when truncated the result carries continue_from to pass back. Block handles ([p12]) and heading ids come with the text unless with_handles is false; with_styles adds formatting markdown cannot show, …

  • reply_comment

    Reply to a comment thread, resolve it, reopen it, or rewrite what it says. Resolving and reopening are reversible; both may carry a message. action edit replaces the text of the thread's own comment, or of one reply when reply_id names it; Google allows only the author of a comment to rewrite it. Thread and reply ids come from list_comments. With suggestion_id instead of comment_id it replies on a suggested edit's thread; accepting or rejecting one is review_suggestion. On a Markdown file (.md) a comment the Docs editor keeps takes replies only, written into the file; the person resolves it in…

  • review_suggestion

    Accept, reject or discard pending suggested edits, each named by its id from list_suggestions. Accepting applies the suggested text; rejecting declines it, which any editor may do; discarding removes the suggestion outright, which Google allows only its author. Pass expect_revision to refuse if the document changed since the list was read. dry_run resolves the suggestions and stops before the write.

  • search_documents

    Locate Google Docs the signed-in account can open, by words in the title or the text, optionally limited by owner or modification date, newest first. Returns ids and URLs to pass to the other tools. With no filters it lists recently modified documents. Markdown files (.md) are found with kind markdown_file or any.

  • write_markdown_file

    Write a working copy back into the Markdown file it was made from (create_document from_file makes one). Only what changed in the copy is carried over, block by block; the rest of the file keeps its own Markdown, its front matter and the comments Docs keeps in it. A change to a block that was also changed in the file since the copy was made is a conflict and is refused, unless force keeps the file's version of those and writes the rest. edit_document's guard applies, and a write waits for, then refuses, changes made in the Docs editor on the file and not saved yet, forced or not: that work is …

Signals

Stars
0
Forks
1
Open issues
0
Last commit
Oct 24, 2026 (4 days ago)
Last release
Oct 24, 2026 (4 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.mmedum/google-docs-mcp
Version
3.1.0
Auth
No auth
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from mmedum

Cite this page

Google Docs MCP. Agent Mart. https://agentmart.dev/connectors/mmedum-google-docs-mcp (last updated 2026-10-24)