eagleisbatman/docugen
If you are the rightful owner of docugen and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
DocuGen is a Model Context Protocol (MCP) server designed to enhance AI assistants by enabling them to create and manage Google Docs with native formatting and automation.
DocuGen - Google Sheets MCP Server
A powerful Google Sheets automation server for Claude Desktop using the Model Context Protocol (MCP). Create spreadsheets, analyze data, build dashboards, and automate workflows with 62 operations.
๐ What is DocuGen?
DocuGen enables Claude to create and manipulate Google Sheets programmatically. Instead of manually clicking through spreadsheets, just tell Claude what you need in plain English:
- "Create a budget tracker for my personal finances"
- "Import this CSV data and create a sales dashboard"
- "Build an inventory management system with reorder alerts"
โจ Features
62 Google Sheets Operations
- Spreadsheet Management: Create, batch update, get metadata
- Data Operations: Read, write, append, clear, import CSV/JSON
- Formatting: Cell styles, borders, merging, conditional formatting
- Advanced Features: Pivot tables, charts, data validation, filters
- Sheet Management: Add, delete, duplicate, rename, hide/show sheets
- Protection: Lock ranges, protect sheets, manage permissions
- Formulas: Add complex formulas, named ranges, calculations
Smart Templates
- Budget trackers with income/expense categories
- Financial dashboards with KPIs and charts
- Project management with Gantt charts
- Inventory systems with automatic reorder alerts
- CRM systems with contact and deal tracking
- Event planning templates
- Loan calculators with amortization schedules
๐ Prerequisites
- Python 3.12 or higher
- Google Cloud account (free tier works)
- Claude Desktop app
- 5 minutes for setup
๐ ๏ธ Installation
Step 1: Clone and Install
# Clone the repository
git clone https://github.com/eagleisbatman/docugen.git
cd docugen
# Create virtual environment (recommended)
python3.12 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
pip install git+https://github.com/modelcontextprotocol/python-sdk.git
Step 2: Set Up Google OAuth
-
Go to Google Cloud Console
-
Create a new project (or use existing)
-
Enable Google Sheets API:
- Navigate to "APIs & Services" > "Library"
- Search for "Google Sheets API"
- Click and enable it
-
Create OAuth 2.0 credentials:
- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "OAuth client ID"
- Choose "Desktop app" as application type
- Download the JSON file
- Save it somewhere secure (e.g.,
~/Desktop/credentials.json
)
Step 3: Configure Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json
:
{
"mcpServers": {
"docugen": {
"command": "python3.12",
"args": [
"/absolute/path/to/docugen/docugen_mcp_server.py"
],
"env": {
"GOOGLE_OAUTH_PATH": "/path/to/your/credentials.json"
}
}
}
}
Replace paths with your actual paths!
Step 4: Restart Claude Desktop
Completely quit and restart Claude Desktop. You should see the MCP icon (๐) in the chat interface.
Step 5: (Recommended) Set Up a DocuGen Project
For best results, create a dedicated project in Claude Desktop:
- In Claude Desktop, create a new Project
- Go to Project Settings โ Custom Instructions
- Copy the content from
- Paste it into the project instructions
- Save the project as "DocuGen" or "Spreadsheets"
Now every conversation in this project will have full knowledge of DocuGen's capabilities!
๐ฌ Usage Examples
Creating a Budget Tracker
"Create a personal budget tracker with income, expenses, and monthly summary"
Importing CSV Data
"Import this CSV data and analyze it:
Date,Product,Sales,Quantity
2024-01-15,Widget A,1500,50
2024-01-16,Widget B,2300,75
Create a pivot table and sales chart"
Building a Dashboard
"Create a financial dashboard for Q4 2024 with revenue tracking, expense categories, and KPI metrics"
Project Management
"Build a project tracker with task list, timeline, status tracking, and Gantt chart visualization"
๐งช Testing
Test the server installation:
# Test server with dummy credentials (no authentication required)
cd docugen
GOOGLE_OAUTH_PATH="/tmp/dummy_credentials.json" python3.12 docugen_mcp_server.py --help
# For actual testing with authentication:
GOOGLE_OAUTH_PATH="/path/to/your/credentials.json" python3.12 docugen_mcp_server.py
๐ Project Structure
docugen/
โโโ docugen_mcp_server.py # Main server (3700+ lines, 62 operations)
โโโ requirements.txt # Python dependencies
โโโ LICENSE # Apache 2.0 license
โโโ README.md # This file
โโโ docs/
โโโ SETUP_GUIDE.md # Detailed setup instructions
โโโ DOCUGEN_SYSTEM_PROMPT.md # Claude's instructions
โโโ DOCUGEN_USER_PROMPTS.md # Example prompts
๐ง How It Works
- You tell Claude what you want in natural language
- Claude understands your business need
- DocuGen executes the appropriate Google Sheets operations
- You get a professional spreadsheet without writing code
Technical Details
- Uses FastMCP framework for efficient MCP implementation
- OAuth 2.0 authentication with Google
- Token stored securely in
~/.docugen/token.json
- All operations in a single, well-organized file
- Comprehensive error handling and validation
๐จ Important Notes
- CSV Import: Users must paste data as text (Claude can't access local files)
- Permissions: First run opens browser for Google authorization
- Spreadsheet IDs: Claude provides the ID after creating spreadsheets
- Operations: Claude can create, read, update, format - but not delete entire spreadsheets
๐ Troubleshooting
Server doesn't appear in Claude Desktop
- Ensure paths in config are absolute, not relative
- Check Python version:
python3.12 --version
- Restart Claude Desktop completely
- Verify credentials file exists
Authentication issues
- Ensure Google Sheets API is enabled
- Check OAuth consent screen is configured
- Verify you're using Desktop app credentials
Import errors
# Reinstall MCP SDK
pip uninstall mcp
pip install git+https://github.com/modelcontextprotocol/python-sdk.git
๐ Resources
Getting Started
- - Detailed setup walkthrough with screenshots
- - 50+ example prompts to try
Optimizing Claude's Performance
- - Add to Claude Desktop project instructions for best results (includes 12 detailed workflow examples)
๐ค Contributing
Contributions welcome! The codebase is a single file (docugen_mcp_server.py
) with 62 well-organized operations.
To add new operations:
- Add your function to
docugen_mcp_server.py
- Decorate with
@mcp.tool()
- Follow the existing pattern for parameters and returns
- Test with the server using dummy or real credentials
๐ License
Apache-2.0 License - see file
๐จโ๐ป Author
Created by Gautam Mandewalker
๐ Cumming, Forsyth County, Georgia, USA
๐ Acknowledgments
- Built with Model Context Protocol by Anthropic
- Uses FastMCP framework
- Powered by Google Sheets API v4
๐ Status
โ Production Ready
- 62 tools available (exactly as shown in Claude Desktop)
- Single-file architecture for simplicity
- FastMCP framework for performance
- Comprehensive error handling
- Ready for immediate use with Claude Desktop