sanjay3290/google-docs
| Interact with Google Docs - create documents, search by title, read content, and edit text. or replace text in a document. Lightweight alternative to full Google Workspace MCP server with standalone OAuth authentication.
This is a copy. The original lives at christophacham/google-docs.
npx skills add https://github.com/sanjay3290/ai-skills --skill google-docs
Lightweight Google Docs integration with standalone OAuth authentication. No MCP server required.
> ⚠️ Requires Google Workspace account. Personal Gmail accounts are not supported.
Authenticate with Google (opens browser):
python scripts/auth.py login
Check authentication status:
python scripts/auth.py status
Logout when needed:
python scripts/auth.py logout
All operations via scripts/docs.py. Auto-authenticates on first use if not logged in.
# Create a new document
python scripts/docs.py create "Meeting Notes"
# Create a document with initial content
python scripts/docs.py create "Project Plan" --content "# Overview\n\nThis is the project plan."
# Find documents by title
python scripts/docs.py find "meeting" --limit 10
# Get text content of a document
python scripts/docs.py get-text 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms
# Get text using a full URL
python scripts/docs.py get-text "https://docs.google.com/document/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit"
# Append text to end of document
python scripts/docs.py append-text 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms "New paragraph at the end."
# Insert text at beginning of document
python scripts/docs.py insert-text 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms "Text at the beginning.\n\n"
# Replace text in document
python scripts/docs.py replace-text 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms "old text" "new text"
Google Docs uses document IDs like 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms. You can:
find command resultsTokens stored securely using the system keyring:
Service name: google-docs-skill-oauth
Access tokens are automatically refreshed when expired using Google's cloud function.
Take sanjay3290/google-docs from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.