A minimal MCP server for creating and updating Google Docs from markdown. Built for Claude Code.
- Create Google Docs from markdown with native formatting
- Update existing docs (replace or append)
- List recent docs with optional search
- Full markdown support:
- Headings (H1-H6)
- Bold, italic, and nested formatting
- Bullet and numbered lists
- Links
- Horizontal rules
- Code blocks (monospace)
minimal-gdocs intentionally stays minimal:
- 4 core tools covering the essential document lifecycle
- Zero configuration beyond OAuth credentials
- No batch operations or complex workflows
- ~274 tokens of context overhead (vs ~3,000 for full-featured alternatives)
If you need advanced features (comments, sheets, drive management, sharing), consider google-docs-mcp instead.
git clone https://github.com/rowbradley/minimal-gdocs.git
cd minimal-gdocs
npm install
npm run buildOr via npm (once published):
npx minimal-gdocsYou need Google OAuth credentials. Choose one of these methods:
- Go to Google Cloud Console
- Create a new project (or select existing)
- Enable the Google Docs API:
- Go to "APIs & Services" → "Library"
- Search "Google Docs API" → Enable
- Create OAuth credentials:
- Go to "APIs & Services" → "Credentials"
- Click "Create Credentials" → "OAuth client ID"
- Application type: Desktop app
- Download the JSON file
- Rename it to
credentials.jsonand place in project root
# Install gcloud if needed: https://cloud.google.com/sdk/docs/install
# Login and set project
gcloud auth login
gcloud projects create minimal-gdocs-project --name="Minimal GDocs"
gcloud config set project minimal-gdocs-project
# Enable Docs API
gcloud services enable docs.googleapis.com
# Create OAuth credentials
gcloud auth application-default login --scopes=https://www.googleapis.com/auth/documents,https://www.googleapis.com/auth/drive.file
# For MCP server, you still need OAuth client credentials:
# Go to console.cloud.google.com → APIs & Services → Credentials
# Create "OAuth client ID" → Desktop app → Download JSONAdd to your Claude Code settings.json:
{
"mcpServers": {
"gdocs": {
"command": "node",
"args": ["/path/to/minimal-gdocs/dist/index.js"]
}
}
}Or if installed globally via npm:
{
"mcpServers": {
"gdocs": {
"command": "npx",
"args": ["minimal-gdocs"]
}
}
}On first use, the server will:
- Open your browser for Google OAuth consent
- Ask you to authorize access to Google Docs
- Save the token locally (in
token.json)
Subsequent runs use the saved token automatically.
Once configured, Claude Code can use these tools:
Create a Google Doc from markdown:
- title: Document title
- content: Markdown content
- folderId: (optional) Google Drive folder ID
Update an existing doc:
- docId: The Google Doc ID
- content: New markdown content
- mode: "replace" or "append"
List your recent Google Docs:
- limit: (optional) Max docs to return
- query: (optional) Search filter
Get URLs for a doc:
- docId: The Google Doc ID
Returns: edit URL, view URL, PDF export URL
In Claude Code:
"Publish this to Google Docs"
# My Document
Here's some **bold** and *italic* text.
- Bullet one
- Bullet two
1. Numbered item
2. Another item
Creates a properly formatted Google Doc with native styling.
MIT