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
google_docs_mcp-0.1.0.tar.gz
(14.2 kB
view details)
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
|