跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 Google Forms,然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
摘要
让你的 AI 创建和读取 Google Forms:创建表单和测验,添加文本、选择、线性量表、日期等各类问题,发布或关闭表单,并读取回复及其答案。支持个人 Google 账户和 Google Workspace。
试试这样问
Google Forms 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → Google Forms、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
Google Forms
让你的 AI 创建和读取 Google Forms:创建表单和测验,添加文本、选择、线性量表、日期等各类问题,发布或关闭表单,并读取回复及其答案。支持个人 Google 账户和 Google Workspace。
设置
- 打开 console.cloud.google.com,选择或创建一个项目,然后进入 APIs & Services → Library 启用 Google Forms API。
- 打开 APIs & Services → OAuth consent screen。如果你使用 Google Workspace,选择 Internal(最简单),否则选择 External。选择 External 时,请把发布状态设为 In production:应用处于 Testing 状态时,Google 会在 7 天后撤销它的刷新令牌,连接器每周都会停止工作。如果只供你自己的账户使用,可以直接跳过“unverified app”警告继续。
- 打开 APIs & Services → Credentials → Create credentials → OAuth client ID,应用类型选择 Web application,并添加已授权的重定向 URI
https://cloud.anythingmcp.com/api/mcp-oauth/callback。如果你自行托管 AnythingMCP,请改填https://your-anythingmcp-host/api/mcp-oauth/callback。 - 把客户端 ID 填入
GOOGLE_CLIENT_ID,把客户端密钥填入GOOGLE_CLIENT_SECRET,然后安装连接器。 - 在连接器页面点击 Authorize with Provider,用 AI 要使用其表单的 Google 账户登录。刷新令牌会加密存储,访问令牌会自动续期。
一个 Google 客户端服务所有 Google 连接器:同一个 Cloud 项目和 OAuth 客户端可以服务所有 Google 连接器:Gmail、Google Calendar、Google Drive、Google Sheets、Google Docs、Google Slides、Google Forms、Google Contacts、Google Meet、Google Tasks、Search Console、Analytics 和 Ads。在该项目中启用每个 API,复用同一个客户端 ID 和密钥,并为每个连接器各授权一次。每个连接器只请求它自己需要的权限。
查找表单:把表单的编辑链接粘贴到聊天中;它的 ID 是 https://docs.google.com/forms/d/<id>/edit 中那串长字符。发给填写者的链接(/forms/d/e/.../viewform)里是另一个 ID,在这里不能用。要按名称查找表单,请同时添加 Google Drive 连接器。连接器可以处理你的账户拥有或有权编辑的表单;只能填写的表单无法读取。
创建表单:创建表单时,Google 只接受标题。之后 AI 会按顺序添加问题:简答和段落、单选、复选框和下拉列表、线性量表、评分、日期和时间、网格、分节、文本块、图片、YouTube 视频,以及带评分的测验题。说明文字会在单独的步骤中设置,AI 还可以把表单改成测验,或收集填写者的电子邮件地址。
新表单默认未发布:通过 API 创建的表单在发布之前不接受回复(这是 Google 自 2026 年 6 月 30 日起的默认行为)。AI 会用 google_forms_set_publish_settings 发布表单并开始接受回复,然后把分享链接给你。同一个工具也可以停止接受新回复;已收到的回复会保留。
读取回复:AI 会先读取一次表单,把每个答案对应到它的问题上,也可以只列出某个时间之后提交的回复。选择题的答案以选项文本返回,上传的文件以 Google Drive 文件 ID 返回。回复很多的表单,用 Google Sheets 连接器处理关联的回复表格会更方便。
通知(可选):google_forms_create_watch 会在收到回复或表单变更时发送一条 Cloud Pub/Sub 消息。这需要 Cloud Pub/Sub API,以及与 OAuth 客户端位于同一 Cloud 项目中的主题,并为 [email protected] 授予 Pub/Sub Publisher 角色。监听如果不用 google_forms_renew_watch 续期,7 天后就会过期。
权限:连接器请求 https://www.googleapis.com/auth/forms.body(创建和编辑你的账户有权编辑的表单)和 https://www.googleapis.com/auth/forms.responses.readonly(读取这些表单的回复)。它不包含 Google Drive,因此连接器不能列出、搜索、共享或删除表单文件。
只读设置:在连接器的 OAuth 设置中把 scope 改为 https://www.googleapis.com/auth/forms.body.readonly https://www.googleapis.com/auth/forms.responses.readonly,重新授权,并停用 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 和 google_forms_set_publish_settings。
安装时默认关闭:可以修改和删除问题的 google_forms_batch_update,以及 google_forms_delete_watch。只有在 AI 需要时才逐个打开。
修改需你确认:每次修改前,AI 都会告诉你将在哪个表单中创建或修改什么,并等待你确认。已发布的表单是实时生效的:填写者会立即看到修改。
限额:Google 允许每个用户每分钟进行 150 次修改、读取 180 次回复列表。超出后会返回 429:请等一分钟再试。
常见错误:401 表示授权已过期或被撤销(同意屏幕处于 Testing 状态时,7 天后必然发生):请再次点击 Authorize with Provider。403 PERMISSION_DENIED 表示该账户无法编辑这个表单,或者 scope 不允许这次调用;403“Forms API has not been used in project”表示 Cloud 项目中没有启用 Google Forms API。404 通常表示 ID 取自填写链接而不是编辑链接,或者表单已被删除。添加问题时出现 400,表示位置超出了表单末尾,或者选择题有重复或空的选项。
连接器不共享、复制或删除表单(这由 Google Drive 连接器负责),不能编辑或删除回复(Forms API 不支持),也不运行 Apps Script。
前提条件: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET
本地安装连接器
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
打开 http://localhost:3000/connectors/store,选择 Google Forms 并填入前提条件中列出的环境变量。
可用工具
| 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… |
示例提示
- “创建一个客户反馈表单,包含 1 到 5 分的评分、一道关于他们如何找到我们的单选题和一个填写意见的段落题,然后发布并把链接发给我。”
- “汇总本周工作坊报名表单的回复,并统计每个工作坊的报名人数。”
- “把入职测验改成带评分的测验,并收集填写者的电子邮件地址。”
- “团队调查的回复已经够了,停止接受新回复。”
下一步
这份指南对你有帮助吗?