io.github.gigabrain-observer/google-docs-mcp-server

Official registry Productivity

Google Docs MCP server with full tab support, markdown extraction, and batch updates.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package google-docs-mcp-server
Claude Code
claude mcp add google-docs-mcp-server -e 'SERVICE_ACCOUNT_PATH=<SERVICE_ACCOUNT_PATH>' -e 'SUBJECT_EMAIL=<SUBJECT_EMAIL>' -- uvx google-docs-mcp-server==0.1.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "google-docs-mcp-server": {
            "command": "uvx",
            "args": [
                "google-docs-mcp-server==0.1.1"
            ],
            "env": {
                "SERVICE_ACCOUNT_PATH": "<SERVICE_ACCOUNT_PATH>",
                "SUBJECT_EMAIL": "<SUBJECT_EMAIL>"
            }
        }
    }
}

Environment variables

  • SERVICE_ACCOUNT_PATH required Path to the Google service account JSON key file
  • SUBJECT_EMAIL required Email of the Workspace user to impersonate via domain-wide delegation

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Google Docs MCP Server
  2. What it does
  3. Why this exists
  4. Install
  5. Prerequisites
  6. Setup
  7. Environment variables
  8. License

Google Docs MCP Server

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.

What it does

ToolDescription
list_tabsList all tabs (including nested) in a document
read_documentRead one tab or all tabs as markdown with proper heading levels
get_document_infoLightweight metadata: title, ID, link, tab list
create_documentCreate a new doc with optional initial text
append_textAppend text to the end of a specific tab
insert_textInsert text at a character index in a tab
replace_textFind and replace within a tab (or whole doc)
batch_updateFull batchUpdate access — formatting, tables, images, styles
list_documentsSearch 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.

Why this exists

Google Docs has supported tabs since late 2024, but most MCP servers either:

  • Ignore tabs entirely (only read the first tab)
  • Don't use includeTabsContent=True, so tab content is invisible
  • Don't handle nested tabs

This server handles all of that correctly and converts content to markdown with proper heading structure.

Install

pip install google-docs-mcp-server

Or run directly with uv:

uvx google-docs-mcp-server

Prerequisites

  • Python 3.11+
  • A Google Cloud service account with domain-wide delegation

Setup

1. Create a GCP service account
  1. Go to Google Cloud Console and create (or select) a project
  2. Enable the Google Docs API and Google Drive API
  3. Create a service account under IAM & Admin > Service Accounts
  4. Create a JSON key and download it
2. Enable domain-wide delegation
  1. In GCP, on the service account details page, enable Domain-wide Delegation and note the Client ID
  2. In Google Workspace Admin > Security > API Controls > Domain-wide Delegation
  3. Add the Client ID with these scopes:
     https://www.googleapis.com/auth/documents
     https://www.googleapis.com/auth/drive.readonly
3. Configure your MCP client

Add to your MCP config (e.g. ~/.claude/mcp.json or .mcp.json):

{
  "mcpServers": {
    "google-docs": {
      "command": "uvx",
      "args": ["google-docs-mcp-server"],
      "env": {
        "SERVICE_ACCOUNT_PATH": "/path/to/your-service-account-key.json",
        "SUBJECT_EMAIL": "you@yourdomain.com"
      }
    }
  }
}

SUBJECT_EMAIL is the Workspace user the service account impersonates.

Environment variables

VariableRequiredDescription
SERVICE_ACCOUNT_PATHYesPath to the service account JSON key file
SUBJECT_EMAILYesEmail of the Workspace user to impersonate

License

MIT

Frequently asked questions

What is io.github.gigabrain-observer/google-docs-mcp-server?

Google Docs MCP server with full tab support, markdown extraction, and batch updates.

How do I install io.github.gigabrain-observer/google-docs-mcp-server?

It runs on your machine. In Claude Code: claude mcp add google-docs-mcp-server -e 'SERVICE_ACCOUNT_PATH=<SERVICE_ACCOUNT_PATH>' -e 'SUBJECT_EMAIL=<SUBJECT_EMAIL>' -- uvx google-docs-mcp-server==0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.gigabrain-observer/google-docs-mcp-server need an API key?

Yes. It expects SERVICE_ACCOUNT_PATH, SUBJECT_EMAIL, which you set in its configuration.

Is io.github.gigabrain-observer/google-docs-mcp-server open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.gigabrain-observer/google-docs-mcp-server?

It is published by gigabrainobserver. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.