Skip to content
Agentmart
Submit a tool

Google Docs

MCP server for Google Docs integration with OAuth2 and service account support.

Connector by pulsemcp.com · Domain verified by the MCP Registry

IndexedMITLocal (stdio)★ 81
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/pulsemcp-com-google-docs

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

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

MCP server for Google Docs integration with OAuth2 and service account support.

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
3 read · 6 write · 1 delete · 1 not yet classified
Secrets
4 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 11

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

Read 3 · Look things up without changing anything.

  • get_document
  • get_document_outline
  • list_comments

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

  • append_text
  • create_document
  • insert_text
  • replace_text
  • share_document
  • update_document

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

  • delete_document

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

  • export_document

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • GOOGLE_DOCS_OAUTH_CLIENT_ID
  • GOOGLE_DOCS_OAUTH_CLIENT_SECRET
  • GOOGLE_DOCS_OAUTH_REFRESH_TOKEN
  • GOOGLE_DOCS_SERVICE_ACCOUNT_PRIVATE_KEY

Other settings (environment variables or headers).

  • GOOGLE_DOCS_ENABLED_TOOLGROUPS
  • GOOGLE_DOCS_IMPERSONATE_EMAIL
  • GOOGLE_DOCS_SERVICE_ACCOUNT_CLIENT_EMAIL

Tools (11)

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

  • append_text

    Append plain text to the end of a Google Doc. Convenience wrapper around update_document. Looks up the current end-of-body index, then issues an insertText request that adds the provided text just before the trailing newline. **Parameters:** - document_id: Document ID or full Docs URL (required) - text: Plain text to append (required) **Notes:** - For formatted edits or precise placement, use update_document directly. - This requires a round-trip to fetch the document first to determine the insertion index.

  • create_document

    Create a new Google Doc. **Parameters:** - title: Title of the new document (optional) - initial_content: Plain-text content to seed the document with (optional) **Returns:** The new document's ID, title, and a docs.google.com link. **Notes:** - For complex initial formatting, follow up with update_document using the full batchUpdate request set. - The newly-created doc is owned by the authenticating principal (or the impersonated user, in service-account mode).

  • delete_document

    Delete a Google Doc. By default, moves the document to Drive's trash (reversible — the user can restore it from drive.google.com within 30 days). Pass permanent=true to bypass trash and remove the document immediately. **Parameters:** - document_id: Document ID or full Docs URL (required) - permanent: Skip trash and delete permanently (optional, default false) **Returns:** Confirmation of deletion, including whether it was trashed or permanently deleted. **Caveats:** - The OAuth/service account that performed the delete must have ownership permission on the document. - With the `drive` s…

  • export_document

    Export a Google Doc to another format via Drive's export endpoint. Supported formats: - pdf, docx, odt, rtf, epub: returned as base64-encoded data - html, txt, markdown: returned as UTF-8 text inline **Parameters:** - document_id: Document ID or full Docs URL (required) - format: Target export format (required) **Returns:** For text formats: the converted document text inline. For binary formats: a base64 string the caller can decode (with metadata about the original byte length). **Notes:** - The export is performed by Google's converters; fidelity varies by format. - Markdown export was …

  • get_document

    Fetch a Google Doc's content and metadata. **Parameters:** - document_id: Document ID or full Docs URL (required) - format: "text" (default, human-readable) or "json" (raw Docs API resource) **Returns:** For format=text: - Document title and ID - Heading outline (TITLE / H1-H6) for navigation - Full plain-text body For format=json: - The complete Docs API document resource as JSON. Use this when you need startIndex / endIndex values to build update_document requests. **Tip:** If you only need the structure, use get_document_outline instead — it's lighter.

  • get_document_outline

    List the headings in a Google Doc as a navigable outline. Returns the title plus every TITLE/SUBTITLE/HEADING_1..HEADING_6 paragraph in document order. Useful for quickly understanding a document's structure without fetching the full body. **Parameters:** - document_id: Document ID or full Docs URL (required) **Returns:** Markdown-formatted outline indented by heading level.

  • insert_text

    Insert plain text at a specific index in a Google Doc. Convenience wrapper around update_document for the common insertText pattern. Issues a single batchUpdate with one insertText request at the given location. **Parameters:** - document_id: Document ID or full Docs URL (required) - index: Document index to insert at (required, min 1) - text: Text to insert (required) **Notes:** - The Docs API uses 1-based indices over the document body. - Use get_document with format="json" to find the index of a specific paragraph or text run. - For more complex edits (deletions, replacements with form…

  • list_comments

    List the comments on a Google Doc, including replies and resolved state. Reads the Drive `comments.list` API. Returns each comment's author, timestamp, resolved/open state, the anchored quoted text (the document text the comment refers to), the comment body, and any threaded replies (including replies that resolved or reopened the thread). **Parameters:** - document_id: Document ID or full Docs URL (required) - include_resolved: Include resolved threads (default true) - include_deleted: Include deleted comments (default false) **Requires the `drive` scope** — the narrower `drive.file` scope…

  • replace_text

    Find-and-replace all occurrences of a string in a Google Doc. Convenience wrapper around update_document's replaceAllText request. Replaces every literal occurrence of `find` with `replace` across the document body. **Parameters:** - document_id: Document ID or full Docs URL (required) - find: Literal string to search for (required) - replace: Replacement string (required, may be empty to delete matches) - match_case: Whether the search is case-sensitive (optional, default false) **Returns:** The number of replacements made (from the Docs API response). **Notes:** - This is literal-text re…

  • share_document

    Share a Google Doc with a user, group, domain, or anyone with the link. Creates a Drive permission on the document. This is the most sensitive write operation in this server — it grants third parties access to a file. Only available in the "readwrite_external" tool group. **Parameters:** - document_id: Document ID or full Docs URL (required) - type: "user" | "group" | "domain" | "anyone" (required) - role: "reader" | "commenter" | "writer" (required) - email_address: Required when type is "user" or "group" - domain: Required when type is "domain" - send_notification_email: Whether to send a …

  • update_document

    Apply low-level Google Docs batchUpdate requests to a document (escape hatch). This is the most powerful but also the most error-prone tool — it accepts the raw Docs API request union directly. Use it for operations the convenience tools (append_text, insert_text, replace_text) don't cover: styling, lists, tables, deletions, paragraph formatting, etc. **Parameters:** - document_id: Document ID or full Docs URL (required) - requests: Array of batchUpdate request objects (required, min 1). Examples: [{ "insertText": { "location": { "index": 1 }, "text": "Hello" } }] [{ "deleteContent…

Signals

Stars
81
Forks
10
Open issues
26
Contributors
4
Last commit (this folder)
Jun 17, 2026 (4 months ago)
Last release
Jun 17, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
com.pulsemcp/google-docs
Version
0.1.4
Auth
API key
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from pulsemcp.com

Cite this page

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