Install
$ agentstack add mcp-node2flow-th-google-docs-mcp-community ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
@node2flow/google-docs-mcp
[](https://smithery.ai/server/node2flow/google-docs) [](https://www.npmjs.com/package/@node2flow/google-docs-mcp) [](https://opensource.org/licenses/MIT)
MCP server for Google Docs — create, read, edit, format, and manage documents through 26 tools via the Model Context Protocol.
Quick Start
Claude Desktop / Cursor
Add to your MCP config:
{
"mcpServers": {
"google-docs": {
"command": "npx",
"args": ["-y", "@node2flow/google-docs-mcp"],
"env": {
"GOOGLE_CLIENT_ID": "your-client-id",
"GOOGLE_CLIENT_SECRET": "your-client-secret",
"GOOGLE_REFRESH_TOKEN": "your-refresh-token"
}
}
}
}
HTTP Mode
GOOGLE_CLIENT_ID=xxx GOOGLE_CLIENT_SECRET=xxx GOOGLE_REFRESH_TOKEN=xxx npx @node2flow/google-docs-mcp --http
MCP endpoint: http://localhost:3000/mcp
Cloudflare Worker
Available at: https://google-docs-mcp-community.node2flow.net/mcp
POST https://google-docs-mcp-community.node2flow.net/mcp?GOOGLE_CLIENT_ID=xxx&GOOGLE_CLIENT_SECRET=xxx&GOOGLE_REFRESH_TOKEN=xxx
Tools (26)
Document (2)
| Tool | Description | |------|-------------| | gdoc_create | Create a new document with a title | | gdoc_get | Get document content, structure, headers, footers |
Content (5)
| Tool | Description | |------|-------------| | gdoc_insert_text | Insert text at a specific position | | gdoc_delete_content | Delete content in a range | | gdoc_replace_all_text | Find and replace all occurrences | | gdoc_insert_inline_image | Insert image from URL | | gdoc_insert_page_break | Insert a page break |
Text Formatting (2)
| Tool | Description | |------|-------------| | gdoc_update_text_style | Bold, italic, underline, font, colors, links | | gdoc_update_paragraph_style | Alignment, spacing, headings, indentation |
Lists (2)
| Tool | Description | |------|-------------| | gdoc_create_bullets | Create bulleted or numbered lists | | gdoc_delete_bullets | Remove bullets from paragraphs |
Tables (7)
| Tool | Description | |------|-------------| | gdoc_insert_table | Insert a new table | | gdoc_insert_table_row | Add a row to a table | | gdoc_insert_table_column | Add a column to a table | | gdoc_delete_table_row | Remove a table row | | gdoc_delete_table_column | Remove a table column | | gdoc_merge_table_cells | Merge cells in a table | | gdoc_unmerge_table_cells | Unmerge previously merged cells |
Headers & Footers (4)
| Tool | Description | |------|-------------| | gdoc_create_header | Create a document header | | gdoc_create_footer | Create a document footer | | gdoc_delete_header | Delete a header | | gdoc_delete_footer | Delete a footer |
Sections & Named Ranges (3)
| Tool | Description | |------|-------------| | gdoc_insert_section_break | Insert a section break (next page or continuous) | | gdoc_create_named_range | Create a named range to bookmark content | | gdoc_delete_named_range | Delete a named range (keeps the content) |
Advanced (1)
| Tool | Description | |------|-------------| | gdoc_batch_update | Raw batchUpdate for any combination of operations |
Index System
Google Docs uses 0-based character indices:
Index 0 → Document root (not usable for content)
Index 1 → Start of body content
Index N → End of body (from gdoc_get response)
Important: Always call gdoc_get first to find current indices. When making multiple edits, process from end to start to avoid index shifts.
Configuration
| Parameter | Required | Description | |-----------|----------|-------------| | GOOGLE_CLIENT_ID | Yes | OAuth 2.0 Client ID from Google Cloud Console | | GOOGLE_CLIENT_SECRET | Yes | OAuth 2.0 Client Secret | | GOOGLE_REFRESH_TOKEN | Yes | Refresh token (obtained via OAuth consent flow) |
Getting Your Credentials
- Go to Google Cloud Console
- Create a project → Enable Google Docs API
- Create OAuth 2.0 Client ID (Desktop app type)
- Use the OAuth Playground or your app to get a refresh token with scope
https://www.googleapis.com/auth/documents
OAuth Scopes
| Scope | Access | |-------|--------| | documents | Full read/write access | | documents.readonly | Read-only access |
License
MIT License - see [LICENSE](LICENSE)
Copyright (c) 2026 Node2Flow
Links
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: node2flow-th
- Source: node2flow-th/google-docs-mcp-community
- License: MIT
- Homepage: https://www.npmjs.com/package/@no de2flow/google-docs-mcp
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.