# Mcp Google Docs MCP server

Agent View of the PolicyLayer registry record for Mcp Google Docs: identity, probed posture, risk grade, and all 27 tools classified. HTML page: https://policylayer.com/tools/a1-x-tech-mcp-google-docs

## Facts

- Server id: `@a1-x-tech/mcp-google-docs`
- Install: `npx -y @a1-x-tech/mcp-google-docs`
- Homepage: https://github.com/A1-x-Tech/mcp-google-docs
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 27 (22 with introspected schema)
- Tool categories present: Destructive, Execute, Read, Write
- Context-window cost: 7620 tokens per request — https://policylayer.com/token-cost/a1-x-tech-mcp-google-docs
- Tags: a1 x tech mcp google docs, admin, automation
- Record last modified: 2026-10-04T11:40:06.358Z

## Tools (27)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `delete_range` | Destructive | Critical | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/delete-range.md |
| `logout` | Destructive | Critical | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/logout.md |
| `manage_comment` | Destructive | Critical | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/manage-comment.md |
| `start_login` | Execute | High | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/start-login.md |
| `style_paragraph` | Execute | High | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/style-paragraph.md |
| `auth_status` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/auth-status.md |
| `get_document` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/get-document.md |
| `list_comments` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/list-comments.md |
| `list_tabs` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/list-tabs.md |
| `raw_request` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/raw-request.md |
| `read_document_text` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/read-document-text.md |
| `style_text` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/style-text.md |
| `create_document` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/create-document.md |
| `edit_table` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/edit-table.md |
| `export_document` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/export-document.md |
| `finish_login` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/finish-login.md |
| `import_markdown` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/import-markdown.md |
| `insert_break` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/insert-break.md |
| `insert_image` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/insert-image.md |
| `insert_table` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/insert-table.md |
| `insert_text` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/insert-text.md |
| `replace_all_text` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/replace-all-text.md |
| `replace_image` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/replace-image.md |
| `replace_range` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/replace-range.md |
| `set_client` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/set-client.md |
| `set_paragraph_bullets` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/set-paragraph-bullets.md |
| `setup_instructions` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-docs/setup-instructions.md |

## Tool descriptions

- `delete_range` — Deletes the content in [start_index, end_index) — text, inline images, whole tables or any mix, as long as the range does not cut across a table cell boundary. Get fresh indexes from read_document_text first; every delete shifts all late…
- `logout` — Revokes the stored token at Google (oauth2.googleapis.com/revoke) and deletes the local credentials file. Tokens supplied via env variables are NOT touched — remove them from the MCP client config manually; envTokenStillSet in the respon…
- `manage_comment` — Manages comment threads via the Drive API. action=create adds a NEW comment (needs content; optional quoted_text cites a passage — the API cannot anchor a new comment to a live range, that anchor format is not public, so it appears at do…
- `start_login` — First step of connecting from the chat, without editing config files or restarting the client. Returns authorizeUrl — show it to the user as a clickable link and ask them to open it in the browser ON THIS MACHINE, pick the Google account…
- `style_paragraph` — Applies paragraph formatting to every paragraph overlapping [start_index, end_index): named_style (normal_text, title, subtitle, heading_1..heading_6 — the way to make headings), alignment (start/center/end/justified), line_spacing (100 …
- `auth_status` — Shows whether this server is connected to Google: token presence and source (env variables or a stored in-chat login), expiry, the Google account email, granted vs missing OAuth scopes, where the credentials file lives and where the OAut…
- `get_document` — Returns the raw Docs API document: title, documentId, revisionId, per-tab body with every structural element's startIndex/endIndex, textRun styles, tables, lists, inlineObjects (image ids for replace_image), headers/footers (their segmen…
- `list_comments` — Lists the document's comment threads via the Drive API: for each comment its id, content, author displayName, createdTime/modifiedTime, resolved flag, the quoted document text it anchors to (quotedFileContent) and its replies (with their…
- `list_tabs` — Returns the document's tab tree without content: tabId, title, position index and nested childTabs. Use the tabId values to target a specific tab in read_document_text and every editing tool. NOTE: the Docs API cannot create, rename, del…
- `raw_request` — Escape hatch to call any Google Docs API v1 path directly, for requests the typed tools don't cover — e.g. a batchUpdate with mergeTableCells, updateTableCellStyle, pinTableHeaderRows, updateSectionStyle, updateDocumentStyle, createHeade…
- `read_document_text` — Returns the document as compact readable blocks, per tab: each paragraph with its text, start/end indexes (UTF-16 code units — the coordinates insert_text/replace_range/delete_range/style tools take), named style (headings) and bullet fl…
- `style_text` — Applies character formatting to [start_index, end_index): bold, italic, underline, strikethrough, small_caps, font_size (points), font_family (e.g. "Roboto"), foreground_color/background_color (6-digit hex), link_url (empty string remove…
- `create_document` — Creates a new Google Doc and returns its documentId. Without markdown it calls documents.create, which accepts ONLY a title — add content afterwards with insert_text/import_markdown. With markdown, the document is created from that Markd…
- `edit_table` — Inserts or deletes a row/column of an existing table. The table is addressed by table_start_index — the table block's start index from read_document_text (its startIndex in get_document). action=insert_row adds next to the cell at row_in…
- `export_document` — Exports the document via Drive. Text formats (markdown, txt, html) are returned inline as the tool result — format=markdown is the way to read a doc as Markdown for a round trip with import_markdown. Binary formats (pdf, docx, odt, rtf, …
- `finish_login` — Second step: confirms the browser consent finished, saves the tokens to an owner-only file and verifies the login with a read-only identity call, returning the account email and the granted scopes. After success every tool works immediat…
- `import_markdown` — REPLACES the ENTIRE document content with the given Markdown via Drive conversion — the Markdown round-trip writer paired with export_document format=markdown. Supported Markdown (headings, bold/italic/strikethrough, links, ordered/unord…
- `insert_break` — Inserts a break at an index (or at the end of the body when index is omitted). kind=page starts a new page; kind=section_next_page starts a new section on a new page; kind=section_continuous starts a new section on the same page. Section…
- `insert_image` — Inserts an inline image fetched from a PUBLIC URL at an index (or at the end of the body when index is omitted). The URL must be reachable by Google without auth, at most 50 MB and 25 megapixels, in PNG, JPEG or GIF; there is no upload c…
- `insert_table` — Inserts an empty rows x columns table at an index, or at the end of the body when index is omitted. Fill the cells afterwards: read_document_text shows the new table's range and per-cell layout, then insert_text into each cell (cell cont…
- `insert_text` — Inserts plain text at an index (UTF-16 code units; body content starts at index 1 — get indexes from read_document_text). Omit index to append at the end of the body (or of the segment when segment_id is set). Newlines in the text create…
- `replace_all_text` — Replaces EVERY occurrence of a literal string (no regex) across the whole document, or only in the tabs named by tab_ids. match_case defaults to true. Returns occurrencesChanged in the batchUpdate reply — 0 means the text was not found, …
- `replace_image` — Replaces an existing image's contents with a new image from a public URL, keeping the original's size and position (the new image is center-cropped to fit). image_object_id is the inline object id — read_document_text shows it inside [im…
- `replace_range` — Replaces the content in [start_index, end_index) with new text — one atomic batchUpdate that deletes the range and inserts at its start, so nothing is lost if either step would fail. Get fresh indexes from read_document_text first: index…
- `set_client` — Saves the OAuth client credentials from the JSON file downloaded from Google Cloud Console ('Download JSON' on a Desktop-app client). Pass the file PATH — the secret must never be pasted into the chat. The client is stored once in the sh…
- `set_paragraph_bullets` — Turns the paragraphs overlapping [start_index, end_index) into a list, or removes their bullets with remove=true. Presets: disc, arrow, checkbox, star, diamond (bulleted); decimal, decimal_parens, decimal_nested, upper_alpha, upper_roman…
- `setup_instructions` — Step-by-step checklist for connecting this server to Google: creating a Google Cloud project and a Desktop-app OAuth client, publishing the consent screen (mandatory — Testing-mode refresh tokens die after 7 days), downloading the client…

## Related servers

- UnClick (1662 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Apibase (1384 tools) — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase.md
- Delx Mcp A2a (1068 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- MCP Framework Personal (912 tools) — https://policylayer.com/tools/inggerman-mcps.md
- Hermoso (896 tools) — https://policylayer.com/tools/hermoso.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- Altium-MCP-Suite (817 tools) — https://policylayer.com/tools/altium-mcp-suite.md
- Eda Agent (777 tools) — https://policylayer.com/tools/eda-agent.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=a1-x-tech-mcp-google-docs · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/a1-x-tech-mcp-google-docs
