Google Forms MCP Server

Build forms and read what people answered, end to end.

Forms is a two-sided service: authoring and results. create_form and batch_update_form build and restructure forms programmatically, while list_form_responses and get_form_response bring submissions back to the assistant for summarizing, scoring, or piping into a spreadsheet.

set_publish_settings closes the loop — an agent can open a survey, watch responses arrive, and lock it down when the target sample size is reached.

What you can ask

  • “Create an RSVP form with name, dietary preferences, and a plus-one toggle”
  • “Summarize the free-text feedback from this week’s survey responses”
  • “We hit 200 responses — close the survey and stop accepting submissions”

All 6 Google Forms MCP tools

Expand any tool for its full parameter list. Tiers control how many tools the server registers: start lean with --tool-tier core and step up to extended or complete when a workflow needs more.

create_form Core Create forms. 3
ParameterDescription
title requiredThe title of the form.
description The description of the form.
document_title The document title (shown in browser tab).
get_form Core Retrieve form metadata and URLs. 1
ParameterDescription
form_id requiredThe ID of the form to retrieve.
list_form_responses Extended List responses with pagination. 3
ParameterDescription
form_id requiredThe ID of the form.
page_size Maximum number of responses to return. Defaults to 10.
page_token Token for retrieving next page of results.
set_publish_settings Complete Configure whether a form is published and accepting responses. 3
ParameterDescription
form_id requiredThe ID of the form to update publish settings for.
is_published Whether the form is published and visible to responders. Defaults to True.
is_accepting_responses Whether the form accepts responses. Only takes effect when the form is published. Defaults to True.
get_form_response Complete Retrieve an individual response. 2
ParameterDescription
form_id requiredThe ID of the form.
response_id requiredThe ID of the response to retrieve.
batch_update_form Complete Apply batch updates to form structure/settings. 2
ParameterDescription
form_id requiredThe ID of the form to update.
requests requiredList of update requests to apply.

Every service in one reference: full API documentation →

OAuth scopes

The server requests only the scopes for the services you enable. In read-only mode it requests just the readonly variants and skips registering write tools entirely.

  • forms.body create and edit forms
  • forms.body.readonly read form structure
  • forms.responses.readonly read submitted responses

Google Forms MCP questions

Can an assistant read form responses, not just build forms?
Yes — that is half the toolset. list_form_responses pages through all submissions and get_form_response fetches a single one, under the dedicated forms.responses.readonly scope.
How do I add questions to an existing form?
batch_update_form applies structural changes — adding questions, reordering items, updating settings — in one call, mirroring the Forms API’s native batchUpdate pattern.
Where do form responses end up for analysis?
The assistant reads them directly and can do the analysis itself, or combine services: pull responses here and write the cleaned-up results into a spreadsheet with the Sheets tools.