Provides comprehensive Google Forms management including creating and updating forms, adding all 12 question types, managing sections, retrieving responses, and exporting data to CSV. Optimized for creating feedback and survey forms.
Google Forms MCP Server
Simple and reliable MCP server for Google Forms management. Optimized for HR managers creating feedback forms.
Features
✅ 15 essential tools (forms, questions, responses) ✅ All 12 Google Forms question types ✅ OAuth via .env (simple setup) ✅ Auto-publish forms ✅ CSV export for Excel ✅ ~640 lines of Python code
Quick Start
1. Install Dependencies
2. Get OAuth Credentials
Create OAuth Client:
Create project → Enable Forms API & Drive API
Create OAuth client ID (Desktop app)
Save client_id and client_secret
Get Refresh Token (Option A - Easiest):
Settings → Use your own OAuth credentials
Select scopes:
https://www.googleapis.com/auth/forms.bodyhttps://www.googleapis.com/auth/forms.responses.readonlyhttps://www.googleapis.com/auth/drive.file
Authorize → Exchange code → Copy refresh_token
Get Refresh Token (Option B - Script):
3. Create .env File
4. Run Server
5. Configure Claude Code
Add to ~/.config/claude/config.json:
Important: Replace the paths above with your actual project location. Use the virtual environment's Python interpreter (venv/bin/python).
Available Tools
Forms Management
forms_create- Create new formforms_list- List all formsforms_get- Get form detailsforms_update- Update formforms_delete- Delete form
Questions
questions_add- Add question (12 types)questions_update- Update questionquestions_delete- Delete questionquestions_move- Reorder question
Sections
sections_add- Add section/page break
Responses
responses_list- List all responsesresponses_get- Get specific responseresponses_export_csv- Export to CSV
Utilities
forms_duplicate- Copy formforms_get_link- Get public link
Question Types Supported
SHORT_ANSWER - Short text
PARAGRAPH - Long text
MULTIPLE_CHOICE - Radio buttons
CHECKBOXES - Multiple selection
DROPDOWN - Dropdown menu
LINEAR_SCALE - 1-5, 1-10 scale
DATE - Date picker
TIME - Time picker
FILE_UPLOAD - File upload
MULTIPLE_CHOICE_GRID - Radio grid
CHECKBOX_GRID - Checkbox grid
RATING - Star/heart rating
Usage Example
Project Structure
Architecture
Troubleshooting
OAuth Errors:
Check .env has all 3 credentials
Verify scopes are correct
Regenerate refresh_token if expired
API Errors:
Enable Forms API in Cloud Console
Enable Drive API in Cloud Console
Check API quotas
MCP Connection:
Verify python path in config
Test with
python main.pydirectlyCheck MCP SDK version >=0.9.0
Security
.envfile is gitignoredRefresh token gives full account access
Token auto-refreshes every hour
For AI Agents / Claude Code
⚠️ IMPORTANT: This MCP server provides direct access to Google Forms. When working with this project:
✅ DO: Call MCP tools directly (forms_create, questions_add, etc.)
❌ DON'T: Use Context7/WebSearch to research Google Forms API
❌ DON'T: Look up JSON schemas or API documentation
Why? The API wrapper is already implemented. Just use the tools!
Quick Test: Try forms_list with no parameters to verify MCP server is working.
Known Issues & Analysis
⚠️ questions_add: Code is correct (verified against official docs), but may fail in some test environments. See claudedocs/GOOGLE_FORMS_API_FIXES.md for:
Root cause analysis with official Google documentation
Evidence-based fix recommendations
Troubleshooting steps
Development
See SPECIFICATION.md for complete implementation details.
License
MIT
This server cannot be installed