Skip to main content
All connectors
qbash Connectors / Google Forms

Google Forms MCP serverand Python AI tasks

qbash hosts a Google Forms MCP server you can use in Claude, ChatGPT, Codex, Cursor, Grok Bot and Muse. Developers use qbash Tasks to write cloud-hosted Python functions that pair Google Forms with models such as Claude and GPT.

Add the qbash MCP

Use Google Forms from Claude Code, Codex, Cursor and other MCP clients. Connect Google Forms in qbash, and your agent can work with its data and build Tasks that call it.

claude mcp add --transport http qbash https://mcp.qbash.com/mcp

Then run /mcp in Claude Code and sign in with qbash.

  • Get a form's title, publish state, links, and every question with its ID, type, and options
  • List a form's responses, with each answer labeled by its question title
  • Get one response by ID
  • Create a form. It is published and accepting responses unless publish is False
  • Add a question to a form and get its question_id
  • Change a form's title or description
Read the docs

Write a Google Forms task in Python

A qbash Task is a Python function hosted in the cloud. Python is the runtime and defines the process, and built-in inline prompts run on leading models such as Claude, GPT, Gemini and Grok.

Run a Task on a schedule, from an HTTP request or when a connected app sends an event. Your agents and chat tools call it over MCP.

Each run is logged with its inputs and results, and you can turn data logging off for any Task. Every Task has version control, and each run is locked to the version it ran.

Summarise this week’s feedback

Read the responses submitted since Monday, then ask an inline prompt for the themes people raised and the answers that need a reply.

main.py
report = qbash.integrations.google_forms.list_responses(
form_id=qbash.inputs.get("form_id"),
submitted_after=qbash.inputs.get("submitted_after"),
include_question_titles=True,
)
responses = report.get("responses", [])
if responses:
summary = qbash.ai.run_prompt(
slug="google-forms-feedback-themes",
variables={"responses": json.dumps(responses)},
)
qbash.output({"responses": report["count"], "summary": summary})
else:
qbash.output("No new responses since the last check.")
Sample list_responses response
{
"status": "success",
"form_id": "1qbashFormId",
"responses": [
{
"response_id": "ACYDBNh1",
"create_time": "2026-11-03T09:12:00Z",
"last_submitted_time": "2026-11-03T09:12:00Z",
"respondent_email": null,
"total_score": null,
"answers": [
{
"question_id": "1a2b3c4d",
"question_title": "Which connector did you set up?",
"values": [
"Google Sheets"
],
"files": [],
"score": null,
"correct": null
},
{
"question_id": "5e6f7a8b",
"question_title": "What would you change?",
"values": [
"Let me pick the sheet tab from a list."
],
"files": [],
"score": null,
"correct": null
}
]
}
],
"count": 1,
"next_page_token": null
}

Custom MCP server

Build a custom MCP server with Google Forms

Create a hosted MCP server that combines Google Forms tools with your other connectors, Tasks and memory folders. You choose each tool it exposes, so a server can share Google Forms reads with write tools left off.

Share the server with your team, and each person adds it to the client they already use.

How to set it up

  1. Connect Google Forms on the qbash Connectors page.
  2. Create an MCP server and add the Google Forms tools you want to share.
  3. Paste the server URL into your client. It connects with OAuth or an access token.

Google Forms MCP questions

Does a form created through qbash take responses straight away?

Yes. Google leaves forms made through its API unpublished, so create_form publishes the new form by default and its responder_url works at once. Pass publish=False to add the questions first, then publish with set_publish_settings.

How do I read only new responses?

Pass the newest last_submitted_time you have seen as submitted_after. list_responses then returns only responses submitted after it, each answer labeled with its question title.

Which question types can it add?

Short answer, paragraph, multiple choice, checkboxes, dropdown, linear scale, date, time and rating. Google’s API can’t create file upload questions, though list_responses returns the files people upload to an existing one.

Build a Google Forms task

Write it in Python with AI steps, or describe it to your coding agent through the qbash MCP.