MCP server for Google Docs
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file google_docs_mcp-0.1.0.tar.gz.
File metadata
- Download URL: google_docs_mcp-0.1.0.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9568415ca89720cbc498f5c9dfed7ca2fe82dc940b90a917600cd117be7fc912
|
|
| MD5 |
a8a2ad4d7b697009d3ef66f5c477297a
|
|
| BLAKE2b-256 |
80c9a4644712a519dc0b4e3a964c7ddb5516891218814cab1f9108576f2fcde7
|
File details
Details for the file google_docs_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: google_docs_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8340ac352534d907c24e63434877c7968d1a38f09d4061761b4a19efd1f70e13
|
|
| MD5 |
1c1ef64e6ff569cca55d9b2d57031541
|
|
| BLAKE2b-256 |
8c8b4342cb791e3759e367750db0da05ca9205a029f114b69e7d730cd6330ed1
|