Skip to main content
Glama

google-docs-mcp

MCP server to read, create and edit Google Docs. Built for report/audit workflows: clone a template, fill sections by heading, find/replace placeholders, and read content back for analysis.

Tools (8)

Tool

What it does

read_document

Read the full document as plain text

get_document_structure

Index of H1–H6 headings with their position

insert_text_after_heading

Insert text right after a section (partial, case-insensitive heading match)

append_text

Append text at the end of the document

find_replace

Find and replace text (handy for {{PLACEHOLDER}}-style templates)

create_document

Create a new empty document

copy_document

Clone an existing document (e.g. from a template)

get_headings

List all headings with level and text, without loading full content

Related MCP server: @node2flow/google-docs-mcp

Typical workflow

1. copy_document(template_id, "Client Report — August 2026")
2. find_replace("{{CLIENT}}", "Acme Inc.")
3. find_replace("{{DATE}}", "August 2026")
4. get_document_structure()  → see available headings
5. insert_text_after_heading("TRAFFIC OVERVIEW", report_data)

Setup

  1. Create a Google Cloud project (or reuse one) and enable the Google Docs API and Google Drive API (needed for copy_document).

  2. Create an OAuth 2.0 Client ID of type "Desktop app" and download it as client_secret.json.

  3. If the app is in "Testing" mode, add your Google account as a test user.

  4. Install dependencies:

    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
  5. Run the OAuth flow once:

    CLIENT_SECRET_PATH=~/.config/google-docs-mcp/client_secret.json \
      python3 setup_auth.py

    This opens a browser — log in and grant access.

MCP client configuration

{
  "mcpServers": {
    "google-docs": {
      "command": "/path/to/.venv/bin/python3",
      "args": ["/path/to/google-docs-mcp/server.py"],
      "env": {
        "GOOGLE_WORKSPACE_TOKEN_PATH": "~/.config/google-docs-mcp/token.json"
      }
    }
  }
}

Env var

Default

Purpose

GOOGLE_WORKSPACE_TOKEN_PATH

~/.config/google-workspace-mcp/token.json

Path to the OAuth token

Notes

  • insert_text_after_heading does a case-insensitive substring match, so "traffic" matches "TRAFFIC OVERVIEW".

  • copy_document uses the Drive API (files().copy()).

  • If the heading isn't found, the response includes available_headings so you can retry with the correct one.

License

MIT — see LICENSE.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for AgentDocs (agentdocs.eu): read, search, write, comment on & share Markdown docs.

  • A paid remote MCP for Context7 MCP docs, built to return verdicts, receipts, usage logs, and audit-r

  • PandaDoc MCP server for creating, sending, signing, and tracking PandaDoc documents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/YerayRodri/google-docs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server