mcp-google-forms

MCP serverDev tools

MCP 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)

ToolWhat it does
create_formCreates a new Google Form and returns it (formId, revisionId, responderUri, publishSettings).
get_formReturns the full form: info (title, description), settings (quiz mode, email collection), items[] with their itemId/questionId and question definitions, publishSettings, responderUri and...
update_form_infoChanges 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_settingsToggles 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_settingsPublishes or unpublishes the form and opens/closes response collection. is_accepting_responses defaults to mirroring is_published (publish = start accepting, unpublish = stop).
add_questionAdds 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_questionUpdates 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_itemDeletes 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_itemMoves 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_responsesLists submitted responses: responseId, createTime, lastSubmittedTime, respondentEmail (only when email collection is on), answers keyed by questionId (map questionId → question via get_form), and...
get_responseFetches a single submission by its responseId (from list_responses): answers keyed by questionId, createTime, lastSubmittedTime, respondentEmail and totalScore when available.
manage_watchesManages 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_requestEscape 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.