关于 mcp-server-google-forms
面向 Claude Code 的本地 MCP 服务,可创建、编辑、发布 Google Forms 并读取回复。支持测验、分区和答案核验,通过浏览器授权 Google 账号。
主要功能
- 01一次操作创建完整表单
- 02添加和编辑九种题型
- 03管理测验模式与答案
- 04插入分区和说明文字
- 05发布或取消发布表单
- 06列出回复并检查凭据
适用场景
- 01创建带题目和评分的测验
- 02修改表单并保留已有回复
- 03将长表单整理为多个分区
- 04查看提交内容或核验测验答案
MCP 相关
向 MCP 客户端提供 15 个 Google Forms 工具,涵盖表单创建、编辑、发布、回复读取和授权诊断。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
15收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| title | string | 是 | 表单标题,答题者可见 |
| unpublished | boolean | 否 | 设为 true 可创建为草稿(在 set_publish 之前无人可以答复)。默认值:已发布。 |
| documentTitle | string | 否 | Drive 中的文件名(可选) |
详细介绍
mcp-server-google-forms
本地 MCP 服务,可让 Claude Code 创建、编辑和发布 Google Forms — 向用户展示为 “Forms IA (MCP)”,一款经 Google 验证的应用。 Claude Code 相关书籍中的示例代码。
✅ 简单易用:你无需在 Google Cloud 中创建任何内容,也不用下载凭据文件。 只需安装,使用 Google 账号登录(界面简洁,没有警告),然后即可使用。此外还有一个 卡片式页面版本 — 可能读起来更舒服。
目录
快速开始
有 Node.js 18+、Claude Code 和 Google 账号吗?那么只需运行两条命令:
# 1. Autorize com o Google (o navegador abre; app verificado, sem avisos)
npx -p mcp-server-google-forms mcp-server-google-forms-token
# 2. Registre no Claude Code
claude mcp add google-forms -- npx mcp-server-google-forms
想看面向非程序员的详细分步指南?请参阅下文。👇
面向非程序员的完整指南
前置条件
- **Node.js 18 或更高版本。**这是运行服务所需的程序;
npm和npx命令会随它一起安装。 要检查版本,请打开终端(见下文)并输入node --version。如果显示v18…或更高版本,就可以了。 如果不是,请从 nodejs.org 下载 LTS 版本并安装(只需一路点击“下一步”)。 - 已安装 Claude Code — 你将通过它与服务交互(code.claude.com/docs)。
- 一个 Google 账号(表单将显示在此账号中)。
如何打开终端(在这里粘贴命令):
- Windows:“开始”菜单 → 输入 PowerShell → 打开 Windows PowerShell。
- **Mac:**按
Cmd + 空格,输入 Terminal,然后按 Enter。 - **Linux:**在应用菜单中找到 Terminal(或按
Ctrl + Alt + T)。
💡 本指南中,“运行命令 X”始终表示:打开终端,粘贴
X,然后按 Enter。
第 1 步 — 使用 Google 账号授权
- 运行授权命令:
浏览器会自动打开 Google 登录页面。npx -p mcp-server-google-forms mcp-server-google-forms-token - **使用你的账号登录并授权访问。**页面会显示应用 Forms IA (MCP) — 经 Google 验证,没有安全警告。检查权限(创建/编辑表单和读取回复),然后点击 继续/允许。终端中会显示 “完成。refreshToken 已保存…” — 授权成功。
第 2 步 — 在 Claude Code 中注册
claude mcp add google-forms -- npx mcp-server-google-forms
第 3 步 — 向 Claude 提出请求
完成!打开 Claude Code,用葡萄牙语提出请求,例如:
“创建一个包含 5 道光合作用题目的测验,每题 2 分,并给我分享链接。”
典型流程:build_form(或 create_form → add_question)→ 分享答题链接 → list_responses。
关于发布:我们在实践中验证(10/07/2026),API 默认创建的表单已经发布, 与 Google 文档中的说法相反。因此,创建工具支持
unpublished=true(创建为草稿),并会告知 API 返回的实际状态 —set_publish则支持切换发布和取消发布。
在另一台计算机上使用
只需在新设备上重复步骤 1 和 2——无需文件,也无需配置。不想重新登录?这里有个快捷方法:将旧计算机上的 ~/.config/mcp-server-google-forms/ 文件夹复制到新计算机的相同位置(在 Windows 上为 C:\Users\SeuNome\.config\mcp-server-google-forms\)——其中的 config.json 保存了你的授权信息。
🤔 为什么这个文件夹是“隐藏”的?
路径以点号开头(.config),因此默认情况下,文件夹不会显示在资源管理器(Windows)或 Finder(Mac)中。这是有意为之:程序会将配置存放在 ~/.config 中的文件夹里(~ 表示你的用户文件夹),让它们不出现在视野中,以免文档杂乱。“隐藏”不代表“受保护”——这个文件夹属于你,随时可以打开:将路径粘贴到资源管理器的地址栏中,或在 Finder 中使用 Cmd + Shift + G。服务器会在这里保存你的授权信息(config.json)。
💻 更喜欢克隆仓库?(适合需要修改代码的用户)
- 克隆并安装:
git clone https://github.com/claude-book/mcp-server-google-forms.git cd mcp-server-google-forms npm install - **授权:**运行
npm run token,并在浏览器中批准。 - 在 Claude Code 中注册(在项目根目录下运行):
claude mcp add google-forms -- node "$(pwd)/src/server.js"
工具(15)
| 工具 | 功能 |
|---|---|
create_form | 创建表单并返回 ID 和链接。默认情况下,Google 会将其直接发布;使用 unpublished=true 可将其设为草稿。返回结果会说明实际状态。 |
build_form | 通过一次操作创建完整表单:标题、说明、测验模式和所有问题。 |
set_publish | 发布或取消发布表单(允许或阻止提交回复)。 |
get_form | 显示项目列表、各项的位置以及完整结构。 |
add_question | 添加问题(添加到末尾或指定位置)。支持九种类型:简答、段落、单选题、复选框、下拉菜单、线性刻度、日期、时间/时长和评分(星星、爱心或点赞)。 |
update_form_info | 修改现有表单的标题和/或说明。 |
update_question | 编辑现有问题(题干、是否必填、选项、分值、答案),而无需删除并重新创建——保留与已收到回复的关联。 |
set_quiz | 开启或关闭测验模式(含评分)。使用 points 前必须先开启。 |
add_section | 在指定位置插入分节符(新页面)。 |
add_text_item | 在指定位置插入说明文字块(不含回答字段)。 |
delete_question | 删除指定位置的问题(如果该项不是问题,则拒绝删除)。 |
move_question | 将项目从一个位置移到另一个位置。 |
list_responses | 列出回复,包括文件上传问题的回复。分页显示(默认每页 50 条),使用 pageSize/pageToken。 |
verify_answer_keys | 根据预期答案列表核对测验答案(创建后的审计)。 |
auth_status | 诊断凭据:检查文件是否存在、字段是否完整,并实际测试与 Google 的连接。 |
故障排除
- “凭据已过期或被撤销”——重新运行授权命令(步骤 1)并再次登录;服务器会自动重新加载凭据,无需重启。
- 授权时浏览器没有打开?——终端也会显示 URL;复制并粘贴到浏览器中。
- 使用自己的 Google Cloud 项目?这类情况的具体问题见下方章节。
如需快速诊断,请让 Claude 运行 auth_status 工具:它会直接通过 Google 测试凭据。
使用自己的 Google Cloud 项目(高级)
默认情况下,授权使用经 Google 验证的 Forms IA (MCP) 应用内置凭据,而您的
授权信息和数据仍只保留在您的账户和设备上(详情见 src/default-client.js)。
如果您更愿意使用自己的项目(例如,使用自己的配额),应用会优先使用凭据文件夹中的
client_secret*.json,其优先级高于内置凭据。
创建自己的项目,逐步操作
- 在 console.cloud.google.com:创建项目 → 启用 Google Forms API → 配置 OAuth 同意屏幕(类型为外部)→ 将自己添加为测试用户(否则授权会因“访问被拒绝”而失败)→ 创建凭据(OAuth 客户端 ID,类型为桌面应用)。
- 创建时立即下载 JSON——Google 不允许之后再下载(如果丢失,请创建另一个客户端)。
- 将
client_secret*.json放入~/.config/mcp-server-google-forms/(Windows:C:\Users\SeuNome\.config\mcp-server-google-forms\)——如果是通过克隆安装,也可以放入credentials/。 - 运行授权命令;终端会确认:“正在使用您自己的 Google Cloud 项目”。
仅在自己的项目中会出现的提示:
- “Google 尚未验证此应用”——正常(这是您的应用);点击高级 → 前往……(不安全)。
- “访问被拒绝” /
access_denied——您没有将自己添加为测试用户;请返回同意屏幕进行添加。 - 7 天后过期——在 Testing 模式下,Google 会每隔 7 天使授权过期;发布应用(OAuth 同意屏幕 → 发布应用)即可解决。个人使用无需通过验证。
技术参考
文件夹结构
src/server.js → o servidor MCP
src/default-client.js → credencial OAuth padrão (app verificado; pública por design)
src/credentials-dir.js → resolução da pasta de credenciais
scripts/get-token.js → autorização OAuth (rodar uma vez)
credentials/ → segredos locais (config.json e, opcionalmente, client_secret*.json) — fora do git
docs/ → site do projeto (GitHub Pages)
凭据存放位置
服务和授权脚本会按以下顺序查找凭据:
- 如果设置了环境变量
GOOGLE_FORMS_MCP_DIR,则在该变量指定的文件夹中; - 如果项目中存在
credentials/文件夹,则在其中(通过克隆安装时); - 在
~/.config/mcp-server-google-forms/中(通过 npm/npx 安装时)。
授权时,如果文件夹中存在 client_secret*.json,则优先使用;否则,使用经验证的应用内置凭据
(src/default-client.js)。
敏感文件
真正的机密是 config.json(其中保存您的 refresh token)——它永远不会离开您的设备,而且克隆项目中的
credentials/ 文件夹已列入 .gitignore。内置凭据(src/default-client.js)属于 Desktop 类型的
OAuth 客户端,Google 将其视为非机密(rclone/gcloud 模式):流程的安全性来自用户在浏览器中的
同意,而不是该值的保密性。
文档
- 项目页面 — 介绍、隐私政策和使用条款。
- 作者域名上的应用页面 — Forms IA (MCP) 的主页、隐私政策和使用条款。
- 代码审查 — 已知问题、严重程度、修复状态,以及记录每项更改原因的变更历史。
- 类似 MCP 的研究 — 对比 GitHub 上 7 个 Google Forms MCP 服务、已采用的改进,以及应避免的反模式。
- HTML 版本 — 面向非程序员的同一份报告,格式更易阅读(在浏览器中打开)。
引用
本软件拥有永久 DOI(每次发布时归档至 Zenodo;元数据见 CITATION.cff):
Alvarenga da Silva, H. (2026). mcp-server-google-forms:Google Forms 的 MCP 服务。Zenodo. https://doi.org/10.5281/zenodo.21296975
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。