Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Google Forms in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Let your AI build and read Google Forms: create forms and quizzes, add text, choice, scale, date and other questions, publish or close a form, and read the responses with their answers. Personal Google accounts and Google Workspace.
Try asking
Example prompts for Google Forms
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Google Forms, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Google Forms + ChatGPT
Let your AI build and read Google Forms: create forms and quizzes, add text, choice, scale, date and other questions, publish or close a form, and read the responses with their answers. Personal Google accounts and Google Workspace.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET
Step 1 — Get credentials
- Open console.cloud.google.com, pick or create a project, then go to APIs & Services → Library and enable the Google Forms API.
- Open APIs & Services → OAuth consent screen. Choose Internal if you are on Google Workspace (the simplest option), otherwise External. For External, set the publishing status to In production: while the app is in Testing, Google revokes its refresh tokens after 7 days and the connector stops working every week. For your own account you can click through the "unverified app" warning.
- Open APIs & Services → Credentials → Create credentials → OAuth client ID, choose the application type Web application and add the authorized redirect URI
https://cloud.anythingmcp.com/api/mcp-oauth/callback. If you host AnythingMCP yourself, enterhttps://your-anythingmcp-host/api/mcp-oauth/callbackinstead. - Paste the client ID into
GOOGLE_CLIENT_IDand the client secret intoGOOGLE_CLIENT_SECRET, then install the connector. - On the connector page, click Authorize with Provider and sign in with the Google account whose forms the AI should use. The refresh token is stored encrypted and access tokens are renewed automatically.
One Google client for all Google connectors: the same Cloud project and OAuth client can serve every Google connector: Gmail, Google Calendar, Google Drive, Google Sheets, Google Docs, Google Slides, Google Forms, Google Contacts, Google Meet, Google Tasks, Search Console, Analytics and Ads. Enable each API in that project, reuse the same client ID and secret, and authorize each connector once. Each one asks only for its own permissions.
Finding a form: paste the form's edit link into the chat; its id is the long string in https://docs.google.com/forms/d/<id>/edit. The link respondents get (/forms/d/e/.../viewform) carries a different id that does not work here. To find forms by name, add the Google Drive connector as well. The connector works on forms your account owns or can edit; forms you can only fill in cannot be read.
Building a form: Google accepts only a title when a form is created. The AI then adds the questions in order: short answer and paragraph, multiple choice, checkboxes and drop-downs, linear scales, ratings, dates and times, grids, section breaks, text blocks, images, YouTube videos and graded quiz questions. It sets the description in a separate step and can turn the form into a quiz or collect respondents' email addresses.
New forms start unpublished: a form created through the API does not accept responses until it is published (Google's default since 30 June 2026). The AI publishes it and opens it for responses with google_forms_set_publish_settings, then gives you the link to share. The same tool closes a form to new responses; the responses received so far stay.
Reading responses: the AI reads the form once to match each answer to its question, and can list only the responses submitted since a given time. Choice answers come back as the option text, file uploads as Google Drive file ids. For very large forms, the linked response spreadsheet is easier to work with through the Google Sheets connector.
Notifications (optional): google_forms_create_watch sends a Cloud Pub/Sub message when a response arrives or the form changes. It needs the Cloud Pub/Sub API and a topic in the same Cloud project as the OAuth client, with the role Pub/Sub Publisher granted to [email protected]. A watch expires after 7 days unless it is renewed with google_forms_renew_watch.
Permissions: the connector asks for https://www.googleapis.com/auth/forms.body (create and edit the forms your account can edit) and https://www.googleapis.com/auth/forms.responses.readonly (read their responses). It does not include Google Drive, so the connector cannot list, search, share or delete form files.
Read-only setup: change the scopes in the connector's OAuth settings to https://www.googleapis.com/auth/forms.body.readonly https://www.googleapis.com/auth/forms.responses.readonly, authorize again and disable google_forms_create_form, google_forms_add_text_question, google_forms_add_choice_question, google_forms_add_item, google_forms_update_form_info, google_forms_update_settings and google_forms_set_publish_settings.
Switched off at install: google_forms_batch_update, which can change and delete questions, and google_forms_delete_watch. Turn them on one by one if the AI needs them.
Changes wait for your yes: before every change the AI tells you what it will create or change and in which form, and waits for your confirmation. A published form is live: respondents see edits at once.
Limits: Google allows each user 150 changes and 180 response lists per minute. Above that it answers 429: wait a minute and try again.
Common errors: 401 means the authorization expired or was revoked (always after 7 days while the consent screen is in Testing): click Authorize with Provider again. 403 PERMISSION_DENIED means the account cannot edit that form, or the scope does not allow the call; 403 "Forms API has not been used in project" means the Google Forms API is not enabled in the Cloud project. 404 usually means the id came from the respondent link instead of the edit link, or the form was deleted. A 400 when adding a question means the position is past the end of the form, or a choice question has duplicate or empty options.
The connector does not share, copy or delete forms (the Google Drive connector does that), cannot edit or delete responses (the Forms API does not allow it) and does not run Apps Script.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in ChatGPT
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
ChatGPT adds MCP servers as plugins on its Plugins page, on the web and on paid plans. Developer mode is no longer needed. In a Business workspace only admins and owners can add one; in Enterprise and Edu an admin can grant the Create plugins with MCPs permission.
- Go to chatgpt.com/plugins, click +, then Add custom MCP server.
- Enter a name, e.g. Name:
Google Forms. - Under Connection, enter the Server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDand keep Authentication on OAuth. - Select I understand and want to continue, then Create as a plugin. When ChatGPT asks, sign in to AnythingMCP and allow access.
- Install the new plugin from your personal plugins, then type @ in a chat and pick it.
Available tools
| Tool | What it does |
|---|---|
google_forms_get_form | Read a form: info (title, description), settings (quiz, email collection), publishSettings (published, accepting responses), responderUri… |
google_forms_create_form | Create a new, empty Google Form with a title, owned by the user in the root of My Drive |
google_forms_add_text_question | Add a text question: short answer, or paragraph when paragraph is true |
google_forms_add_choice_question | Add a multiple-choice (RADIO), checkbox (CHECKBOX) or drop-down (DROP_DOWN) question with its options |
google_forms_add_item | Add any other item as a Forms API Item: a linear scale, date, time or rating question, a grid, a section break (pageBreakItem), a title and… |
google_forms_update_form_info | Change the form's title or description (the text under the title). update_mask names what changes: "title", "description" or… |
google_forms_update_settings | Turn the form into a quiz (or back) and choose whether respondents' emails are collected. update_mask names what changes… |
google_forms_set_publish_settings | Publish or unpublish a form and open or close it for responses |
google_forms_batch_update | Run Forms API batchUpdate requests the other tools do not cover: change a question (updateItem with updateMask), move one (moveItem) or… |
google_forms_list_responses | List a form's responses, newest submissions included: responseId, createTime, lastSubmittedTime, respondentEmail (when collected)… |
google_forms_get_response | Read one response by its responseId: times, respondentEmail, totalScore and answers keyed by questionId |
google_forms_list_watches | List the push-notification watches this Google Cloud project has on a form: id, eventType (SCHEMA or RESPONSES), Pub/Sub topic, state… |
google_forms_create_watch | Get a Pub/Sub message each time the form receives a response (RESPONSES) or its questions or settings change (SCHEMA) |
google_forms_renew_watch | Extend a watch to 7 days from now |
google_forms_delete_watch | Delete a watch: its Pub/Sub topic stops receiving form notifications |
google_forms_check_authorization | Check that the Google authorization works and which scopes it carries, without reading any form: returns scope (space-separated) and… |
Example prompts
- "Create a customer feedback form with a 1 to 5 rating, a multiple-choice question on how they found us and a paragraph for comments, then publish it and give me the link."
- "Summarise this week's responses to the workshop registration form and count the sign-ups per workshop."
- "Turn the onboarding quiz into a graded quiz and collect respondents' email addresses."
- "Close the team survey to new responses; we have enough answers."
FAQ
Does the free ChatGPT plan work with custom MCP servers? OpenAI documents custom MCP servers for paid plans only; the Free plan is not on its list.
Next steps
Was this guide helpful?