mcp-google-forms
MCP serverDev toolsMCP server for the Google Forms API: create forms, manage questions, read responses and watches.
This server has no hosted endpoint yet, so ahel can't serve it. You can still add it. It stays paused until ahel can serve it.
Serve it through your gateway
One link, every agent. Your own credentials, stored once.
Tools it gives your agents (13)
| Tool | What it does |
|---|---|
| create_form | Creates a new Google Form and returns it (formId, revisionId, responderUri, publishSettings). |
| get_form | Returns the full form: info (title, description), settings (quiz mode, email collection), items[] with their itemId/questionId and question definitions, publishSettings, responderUri and... |
| update_form_info | Changes the form's title and/or description. Only the provided fields are touched (the updateMask is computed automatically); at least one field is required. |
| update_form_settings | Toggles quiz mode (grading with points) and/or the email collection mode. Quiz mode only enables grading — points, correct answers and feedback are set per question afterwards via update_question... |
| set_publish_settings | Publishes or unpublishes the form and opens/closes response collection. is_accepting_responses defaults to mirroring is_published (publish = start accepting, unpublish = stop). |
| add_question | Adds a question to the form (a convenience wrapper over batchUpdate createItem). Types: text (short answer), paragraph (long answer), radio (single choice), checkbox (multiple choice), dropdown... |
| update_question | Updates an existing item (question or other) via batchUpdate updateItem. The item is addressed by its 0-based index — call get_form first to see current positions and the item's current shape. |
| delete_item | Deletes the item at the given 0-based index (question, page break, text block, ...). Deletion shifts every later item one position down — re-check indexes with get_form between successive deletes. |
| move_item | Moves the item at from_index to to_index (both 0-based, to_index is the position after removal). Use get_form to see the current order first. |
| list_responses | Lists submitted responses: responseId, createTime, lastSubmittedTime, respondentEmail (only when email collection is on), answers keyed by questionId (map questionId → question via get_form), and... |
| get_response | Fetches a single submission by its responseId (from list_responses): answers keyed by questionId, createTime, lastSubmittedTime, respondentEmail and totalScore when available. |
| manage_watches | Manages Cloud Pub/Sub push-notification watches on a form. action=create needs event_type (RESPONSES = new submissions, SCHEMA = form structure changes) and topic_name; the topic must live in your... |
| raw_request | Escape hatch to call any Google Forms API v1 path directly, for requests the typed tools don't cover — e.g. |
Signals
- Last commit
- Aug 2026
- Weekly downloads
- 183
- Tools captured
- 13
ahel review
S4info
community integration — published by a1-x-tech, not google
Automated review, not a security audit. Ruleset v1.