Google Docs
MCP server for Google Docs integration with OAuth2 and service account support.
Connector by pulsemcp.com · Domain verified by the MCP Registry
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.
About
Reviews
Write a reviewNo 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_documentget_document_outlinelist_comments
Write 6 · Create, change, send or run things.
append_textcreate_documentinsert_textreplace_textshare_documentupdate_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_IDGOOGLE_DOCS_OAUTH_CLIENT_SECRETGOOGLE_DOCS_OAUTH_REFRESH_TOKENGOOGLE_DOCS_SERVICE_ACCOUNT_PRIVATE_KEY
Other settings (environment variables or headers).
GOOGLE_DOCS_ENABLED_TOOLGROUPSGOOGLE_DOCS_IMPERSONATE_EMAILGOOGLE_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_textAppend 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_documentCreate 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_documentDelete 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_documentExport 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_documentFetch 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_outlineList 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_textInsert 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_commentsList 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_textFind-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_documentShare 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_documentApply 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
- Packages
- npm google-docs-workspace-mcp-server
- License
- MIT
- Repository
- github.com/pulsemcp/mcp-servers
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from pulsemcp.com
- 0.627score
Gmail
pulsemcp.com
MCP server for Gmail with OAuth2 (personal) and service account (Workspace) support.
ConnectorBFreshness: BLocal★ 81Claude Code +5 - 0.587score
Playwright Stealth
pulsemcp.com
Browser automation using Playwright with optional stealth mode to bypass anti-bot protection.
ConnectorCFreshness: CLocal★ 81Claude Code +5 - 0.577score
Svg Tracer
pulsemcp.com
MCP server for converting bitmap images to SVG vector graphics using potrace tracing.
ConnectorCFreshness: CLocalRead-only★ 81Claude Code +5 - 0.577score
Fly Io
pulsemcp.com
MCP server for managing Fly.io machines, apps, logs, and Docker images.
ConnectorCFreshness: CLocal★ 81Claude Code +5 - 0.577score
Remote Filesystem
pulsemcp.com
MCP server for remote filesystem operations on cloud storage (Google Cloud Storage).
ConnectorCFreshness: CLocal★ 81Claude Code +5 - 0.577score
Monarch Money
pulsemcp.com
MCP server for Monarch Money — account, transaction, and budget management.
ConnectorCFreshness: CLocal★ 81Claude Code +5
Cite this page
Google Docs MCP server. Agent Mart. https://agentmart.dev/connectors/pulsemcp-com-google-docs (last updated 2026-10-24)