@node2flow/google-docs-mcp
MCP server for Google Docs — create, read, edit, format, and manage documents through 26 tools via the Model Context Protocol.
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"
}
}
}
}
GOOGLE_CLIENT_ID=xxx GOOGLE_CLIENT_SECRET=xxx GOOGLE_REFRESH_TOKEN=xxx npx @node2flow/google-docs-mcp --http
MCP endpoint: http://localhost:3000/mcp
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
Tool
Description
gdoc_create
Create a new document with a title
gdoc_get
Get document content, structure, headers, footers
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
Tool
Description
gdoc_update_text_style
Bold, italic, underline, font, colors, links
gdoc_update_paragraph_style
Alignment, spacing, headings, indentation
Tool
Description
gdoc_create_bullets
Create bulleted or numbered lists
gdoc_delete_bullets
Remove bullets from paragraphs
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)
Tool
Description
gdoc_batch_update
Raw batchUpdate for any combination of operations
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.
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)
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
Scope
Access
documents
Full read/write access
documents.readonly
Read-only access
MIT License - see LICENSE
Copyright (c) 2026 Node2Flow