jag-k/google-docs-mcp
3.1
If you are the rightful owner of google-docs-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Google Docs MCP is a server that facilitates interaction with Google Docs through the Model Context Protocol, offering tools for reading, commenting, and exporting documents.
Tools
7
Resources
0
Prompts
0
Google Docs MCP
MCP server for Google Docs.
Features
- Tools:
docs.read— Read a Doc as Markdown or HTMLcomments.list— List comments and repliescomments.reply— Reply to a comment (write gated)comments.resolve— Resolve a comment (write gated)docs.insert_text— Insert or append text (write gated)docs.from_url— Normalize a Docs/Drive URL to IDsdrive.export_file— Export as PDF/DOCX/HTML
- Resources:
mcp://token-info— Safe token diagnostics (no secrets)gdoc-md://{document_id}— Google Doc (Markdown)gdoc-html://{document_id}— Google Doc (HTML)
- Prompts:
comment_reply,summarize_doc
Quick Start
- Using CLI (recommended):
- Authorize:
uvx google-docs-mcp auth authorize [-f|--force] - Start server (default stdio):
uvx google-docs-mcp server [--transport stdio|http|sse|streamable-http]
- Authorize:
- Using local instance:
- Authorize:
uv run google_docs_mcp auth authorize - Start server:
uv run google_docs_mcp server
- Authorize:
MCP Config (example)
Add to your MCP client configuration (installed CLI):
[mcp_servers.google_docs_mcp]
command = "uvx"
args = ["google-docs-mcp", "server"]
env = {
WRITE_MODE = "disabled",
GOOGLE__CLIENT_ID = "<id>",
GOOGLE__CLIENT_SECRET = "<secret>",
}
OAuth Setup
- Create OAuth Desktop client in Google Cloud Console.
- Provide
GOOGLE__CLIENT_IDandGOOGLE__CLIENT_SECRETas env vars, or put a client file in the config dir and setGOOGLE__OAUTH_CLIENT_FILE. - Run
google-docs-mcp auth authorize(oruv run -m google_docs_mcp.cli auth authorize) and approve scopes.
Write Safety
- Controlled via
WRITE_MODEenv var. Default isenabled. Setdisabledto block any write tools.
Configuration
- This repo provides an auto-generated
Configuration.mdand a starter.env.example. They are the source of truth for all env vars and defaults. - Common variables:
WRITE_MODE:enabled(default) ordisabledLOG_LEVEL:DEBUG|INFO(default) |WARNING|ERROR|CRITICALGOOGLE__CLIENT_ID,GOOGLE__CLIENT_SECRET,GOOGLE__OAUTH_CLIENT_FILE,GOOGLE__SCOPESs SeeConfiguration.mdfor all environment variables and examples. A starter.env.exampleis provided.
Notes
- Python 3.13, pydantic v2, ruff format, strict mypy.
- No tests by design; keep code small and documented.
MCP Inspector
The MCP Inspector is a handy UI to explore and call tools.
Interactive setup (recommended):
- Start Inspector:
npx -y @modelcontextprotocol/inspector - In the connection dialog, set:
- Transport:
stdio - Command:
google-docs-mcp(oruvfor the alternative config above) - Args:
server - Env (optional): add
WRITE_MODE=disabledand your OAuth vars if not already stored
- Transport:
- Connect, then list tools and try
docs.from_urlanddocs.read.
Tip: enable verbose logs with LOG_LEVEL=DEBUG in Env to diagnose issues.
Note on Drive permissions
- Some tools (comments and exports) call the Drive API. If you see a Drive 404 like "File not found" on an accessible Doc, re-authorize with Drive read-only scope:
- Ensure
GOOGLE__SCOPESincludeshttps://www.googleapis.com/auth/drive.readonly. - Run
google-docs-mcp auth authorizeagain to grant the new scope.
- Ensure
Diagnostics
- Show token info (safe):
google-docs-mcp auth token-info - Revoke local token:
google-docs-mcp auth revoke
Security
- Required scopes:
https://www.googleapis.com/auth/documentsandhttps://www.googleapis.com/auth/drive.readonly. - Secrets are never logged. The
mcp://token-inforesource exposes only safe metadata.