{"id":30459620,"url":"https://github.com/eagleisbatman/docugen","last_synced_at":"2026-05-01T18:32:35.101Z","repository":{"id":309988870,"uuid":"1038289394","full_name":"eagleisbatman/docugen","owner":"eagleisbatman","description":"🤖 MCP server enabling AI assistants to create native Google Sheets with templates \u0026 formatting. Works with Claude, Cursor, Windsurf, Cline \u0026 more. ","archived":false,"fork":false,"pushed_at":"2025-08-18T01:10:42.000Z","size":290,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-24T15:39:18.771Z","etag":null,"topics":["claude-code","claude-desktop","cline","cursor","fastapi","kilo-code","mcp","mcp-sdk","mcp-server","npx","roo-code","windsurf"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eagleisbatman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-14T23:51:49.000Z","updated_at":"2025-08-18T01:10:44.000Z","dependencies_parsed_at":"2025-08-15T02:25:08.305Z","dependency_job_id":null,"html_url":"https://github.com/eagleisbatman/docugen","commit_stats":null,"previous_names":["eagleisbatman/docugen"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eagleisbatman/docugen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagleisbatman%2Fdocugen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagleisbatman%2Fdocugen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagleisbatman%2Fdocugen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagleisbatman%2Fdocugen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eagleisbatman","download_url":"https://codeload.github.com/eagleisbatman/docugen/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagleisbatman%2Fdocugen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32508901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","claude-desktop","cline","cursor","fastapi","kilo-code","mcp","mcp-sdk","mcp-server","npx","roo-code","windsurf"],"created_at":"2025-08-23T18:48:39.044Z","updated_at":"2026-05-01T18:32:35.093Z","avatar_url":"https://github.com/eagleisbatman.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DocuGen - Google Sheets MCP Server\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)\n[![Python Version](https://img.shields.io/badge/python-%3E%3D3.12-blue)](https://python.org)\n[![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-purple)](https://modelcontextprotocol.io)\n\nA 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.\n\n## 🚀 What is DocuGen?\n\nDocuGen enables Claude to create and manipulate Google Sheets programmatically. Instead of manually clicking through spreadsheets, just tell Claude what you need in plain English:\n\n- \"Create a budget tracker for my personal finances\"\n- \"Import this CSV data and create a sales dashboard\"\n- \"Build an inventory management system with reorder alerts\"\n\n## ✨ Features\n\n### 62 Google Sheets Operations\n- **Spreadsheet Management**: Create, batch update, get metadata\n- **Data Operations**: Read, write, append, clear, import CSV/JSON\n- **Formatting**: Cell styles, borders, merging, conditional formatting\n- **Advanced Features**: Pivot tables, charts, data validation, filters\n- **Sheet Management**: Add, delete, duplicate, rename, hide/show sheets\n- **Protection**: Lock ranges, protect sheets, manage permissions\n- **Formulas**: Add complex formulas, named ranges, calculations\n\n### Smart Templates\n- Budget trackers with income/expense categories\n- Financial dashboards with KPIs and charts\n- Project management with Gantt charts\n- Inventory systems with automatic reorder alerts\n- CRM systems with contact and deal tracking\n- Event planning templates\n- Loan calculators with amortization schedules\n\n## 📋 Prerequisites\n\n- Python 3.12 or higher\n- Google Cloud account (free tier works)\n- Claude Desktop app\n- 5 minutes for setup\n\n## 🛠️ Installation\n\n### Step 1: Clone and Install\n\n```bash\n# Clone the repository\ngit clone https://github.com/eagleisbatman/docugen.git\ncd docugen\n\n# Create virtual environment (recommended)\npython3.12 -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n\n# Install dependencies\npip install -r requirements.txt\npip install git+https://github.com/modelcontextprotocol/python-sdk.git\n```\n\n### Step 2: Set Up Google OAuth\n\n1. Go to [Google Cloud Console](https://console.cloud.google.com/)\n2. Create a new project (or use existing)\n3. Enable **Google Sheets API**:\n   - Navigate to \"APIs \u0026 Services\" \u003e \"Library\"\n   - Search for \"Google Sheets API\"\n   - Click and enable it\n\n4. Create OAuth 2.0 credentials:\n   - Go to \"APIs \u0026 Services\" \u003e \"Credentials\"\n   - Click \"Create Credentials\" \u003e \"OAuth client ID\"\n   - Choose \"Desktop app\" as application type\n   - Download the JSON file\n   - Save it somewhere secure (e.g., `~/Desktop/credentials.json`)\n\n### Step 3: Configure Claude Desktop\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"docugen\": {\n      \"command\": \"python3.12\",\n      \"args\": [\n        \"/absolute/path/to/docugen/docugen_mcp_server.py\"\n      ],\n      \"env\": {\n        \"GOOGLE_OAUTH_PATH\": \"/path/to/your/credentials.json\"\n      }\n    }\n  }\n}\n```\n\nReplace paths with your actual paths!\n\n### Step 4: Restart Claude Desktop\n\nCompletely quit and restart Claude Desktop. You should see the MCP icon (🔌) in the chat interface.\n\n### Step 5: (Recommended) Set Up a DocuGen Project\n\nFor best results, create a dedicated project in Claude Desktop:\n\n1. In Claude Desktop, create a new Project\n2. Go to Project Settings → Custom Instructions\n3. Copy the content from [DOCUGEN_SYSTEM_PROMPT.md](docs/DOCUGEN_SYSTEM_PROMPT.md)\n4. Paste it into the project instructions\n5. Save the project as \"DocuGen\" or \"Spreadsheets\"\n\nNow every conversation in this project will have full knowledge of DocuGen's capabilities!\n\n## 💬 Usage Examples\n\n### Creating a Budget Tracker\n```\n\"Create a personal budget tracker with income, expenses, and monthly summary\"\n```\n\n### Importing CSV Data\n```\n\"Import this CSV data and analyze it:\nDate,Product,Sales,Quantity\n2024-01-15,Widget A,1500,50\n2024-01-16,Widget B,2300,75\nCreate a pivot table and sales chart\"\n```\n\n### Building a Dashboard\n```\n\"Create a financial dashboard for Q4 2024 with revenue tracking, expense categories, and KPI metrics\"\n```\n\n### Project Management\n```\n\"Build a project tracker with task list, timeline, status tracking, and Gantt chart visualization\"\n```\n\n## 🧪 Testing\n\nTest the server installation:\n\n```bash\n# Test server with dummy credentials (no authentication required)\ncd docugen\nGOOGLE_OAUTH_PATH=\"/tmp/dummy_credentials.json\" python3.12 docugen_mcp_server.py --help\n\n# For actual testing with authentication:\nGOOGLE_OAUTH_PATH=\"/path/to/your/credentials.json\" python3.12 docugen_mcp_server.py\n```\n\n## 📁 Project Structure\n\n```\ndocugen/\n├── docugen_mcp_server.py    # Main server (3700+ lines, 62 operations)\n├── requirements.txt         # Python dependencies\n├── LICENSE                  # Apache 2.0 license\n├── README.md               # This file\n└── docs/\n    ├── SETUP_GUIDE.md      # Detailed setup instructions\n    ├── DOCUGEN_SYSTEM_PROMPT.md  # Claude's instructions\n    └── DOCUGEN_USER_PROMPTS.md   # Example prompts\n```\n\n## 🔧 How It Works\n\n1. **You tell Claude** what you want in natural language\n2. **Claude understands** your business need\n3. **DocuGen executes** the appropriate Google Sheets operations\n4. **You get** a professional spreadsheet without writing code\n\n### Technical Details\n\n- Uses **FastMCP** framework for efficient MCP implementation\n- **OAuth 2.0** authentication with Google\n- Token stored securely in `~/.docugen/token.json`\n- All operations in a single, well-organized file\n- Comprehensive error handling and validation\n\n## 🚨 Important Notes\n\n- **CSV Import**: Users must paste data as text (Claude can't access local files)\n- **Permissions**: First run opens browser for Google authorization\n- **Spreadsheet IDs**: Claude provides the ID after creating spreadsheets\n- **Operations**: Claude can create, read, update, format - but not delete entire spreadsheets\n\n## 🐛 Troubleshooting\n\n### Server doesn't appear in Claude Desktop\n- Ensure paths in config are absolute, not relative\n- Check Python version: `python3.12 --version`\n- Restart Claude Desktop completely\n- Verify credentials file exists\n\n### Authentication issues\n- Ensure Google Sheets API is enabled\n- Check OAuth consent screen is configured\n- Verify you're using Desktop app credentials\n\n### Import errors\n```bash\n# Reinstall MCP SDK\npip uninstall mcp\npip install git+https://github.com/modelcontextprotocol/python-sdk.git\n```\n\n## 📚 Resources\n\n### Getting Started\n- [SETUP_GUIDE.md](docs/SETUP_GUIDE.md) - Detailed setup walkthrough with screenshots\n- [DOCUGEN_USER_PROMPTS.md](docs/DOCUGEN_USER_PROMPTS.md) - 50+ example prompts to try\n\n### Optimizing Claude's Performance\n- [DOCUGEN_SYSTEM_PROMPT.md](docs/DOCUGEN_SYSTEM_PROMPT.md) - Add to Claude Desktop project instructions for best results (includes 12 detailed workflow examples)\n\n## 🤝 Contributing\n\nContributions welcome! The codebase is a single file (`docugen_mcp_server.py`) with 62 well-organized operations.\n\nTo add new operations:\n1. Add your function to `docugen_mcp_server.py`\n2. Decorate with `@mcp.tool()`\n3. Follow the existing pattern for parameters and returns\n4. Test with the server using dummy or real credentials\n\n## 📄 License\n\nApache-2.0 License - see [LICENSE](LICENSE) file\n\n## 👨‍💻 Author\n\n**Created by Gautam Mandewalker**\n\n📍 Cumming, Forsyth County, Georgia, USA\n\n🔗 [GitHub](https://github.com/eagleisbatman) | [LinkedIn](https://www.linkedin.com/in/gautammandewalker/)\n\n## 🙏 Acknowledgments\n\n- Built with [Model Context Protocol](https://modelcontextprotocol.io/) by Anthropic\n- Uses [FastMCP](https://github.com/modelcontextprotocol/python-sdk) framework\n- Powered by Google Sheets API v4\n\n## 📊 Status\n\n✅ **Production Ready**\n- 62 tools available (exactly as shown in Claude Desktop)\n- Single-file architecture for simplicity\n- FastMCP framework for performance\n- Comprehensive error handling\n- Ready for immediate use with Claude Desktop","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feagleisbatman%2Fdocugen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feagleisbatman%2Fdocugen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feagleisbatman%2Fdocugen/lists"}