The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Google Docs MCP Server listing page.
A Model Context Protocol server for Google Docs with full tab support — something most existing servers get wrong or skip entirely.
Uses Google service accounts with domain-wide delegation, so it works in Workspace orgs without OAuth consent screens.
| Tool | Description |
|---|---|
list_tabs | List all tabs (including nested) in a document |
read_document | Read one tab or all tabs as markdown with proper heading levels |
get_document_info | Lightweight metadata: title, ID, link, tab list |
create_document | Create a new doc with optional initial text |
append_text | Append text to the end of a specific tab |
insert_text | Insert text at a character index in a tab |
replace_text | Find and replace within a tab (or whole doc) |
batch_update | Full batchUpdate access — formatting, tables, images, styles |
list_documents | Search Drive for docs by name |
All tab-targeting tools accept tab_id or tab_title (case-insensitive). The batch_update tool auto-injects tabId into requests so you don't have to.
Google Docs has supported tabs since late 2024, but most MCP servers either:
includeTabsContent=True, so tab content is invisibleThis server handles all of that correctly and converts content to markdown with proper heading structure.
Or run directly with uv:
Add to your MCP config (e.g. ~/.claude/mcp.json or .mcp.json):
SUBJECT_EMAIL is the Workspace user the service account impersonates.
| Variable | Required | Description |
|---|---|---|
SERVICE_ACCOUNT_PATH | Yes | Path to the service account JSON key file |
SUBJECT_EMAIL | Yes | Email of the Workspace user to impersonate |
MIT