mcpField
M
mcp-server-google-forms

mcp-server-google-forms

本地服务
github.com/claude-book生产力012 周前更新

关于 mcp-server-google-forms

面向 Claude Code 的本地 MCP 服务,可创建、编辑、发布 Google Forms 并读取回复。支持测验、分区和答案核验,通过浏览器授权 Google 账号。

主要功能

  1. 01一次操作创建完整表单
  2. 02添加和编辑九种题型
  3. 03管理测验模式与答案
  4. 04插入分区和说明文字
  5. 05发布或取消发布表单
  6. 06列出回复并检查凭据

适用场景

  1. 01创建带题目和评分的测验
  2. 02修改表单并保留已有回复
  3. 03将长表单整理为多个分区
  4. 04查看提交内容或核验测验答案

MCP 相关

向 MCP 客户端提供 15 个 Google Forms 工具,涵盖表单创建、编辑、发布、回复读取和授权诊断。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"claude-book-mcp-server-google-forms": {
"command": "npx",
"args": [
"-y",
"mcp-server-google-forms"
],
"env": {
"GOOGLE_FORMS_MCP_DIR": "<GOOGLE_FORMS_MCP_DIR>"
}
}
}
}
启动命令npx -y mcp-server-google-forms
需要配置的环境变量
GOOGLE_FORMS_MCP_DIRPasta com as credenciais do Google (client_secret*.json e config.json). Opcional — padrão: ~/.config/mcp-server-google-forms/

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-server-google-forms0.5.0

工具

15

收录的工具列表 · 更新于 3 周前

参数类型必填说明
titlestring是表单标题,答题者可见
unpublishedboolean否设为 true 可创建为草稿(在 set_publish 之前无人可以答复)。默认值:已发布。
documentTitlestring否Drive 中的文件名(可选)

详细介绍

mcp-server-google-forms

npm MCP Registry DOI

本地 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

想看面向非程序员的详细分步指南?请参阅下文。👇


面向非程序员的完整指南

前置条件
  1. **Node.js 18 或更高版本。**这是运行服务所需的程序;npm 和 npx 命令会随它一起安装。 要检查版本,请打开终端(见下文)并输入 node --version。如果显示 v18… 或更高版本,就可以了。 如果不是,请从 nodejs.org 下载 LTS 版本并安装(只需一路点击“下一步”)。
  2. 已安装 Claude Code — 你将通过它与服务交互(code.claude.com/docs)。
  3. 一个 Google 账号(表单将显示在此账号中)。

如何打开终端(在这里粘贴命令):

  • Windows:“开始”菜单 → 输入 PowerShell → 打开 Windows PowerShell。
  • **Mac:**按 Cmd + 空格,输入 Terminal,然后按 Enter。
  • **Linux:**在应用菜单中找到 Terminal(或按 Ctrl + Alt + T)。

💡 本指南中,“运行命令 X”始终表示:打开终端,粘贴 X,然后按 Enter。

第 1 步 — 使用 Google 账号授权
  1. 运行授权命令:
    npx -p mcp-server-google-forms mcp-server-google-forms-token
    
    浏览器会自动打开 Google 登录页面。
  2. **使用你的账号登录并授权访问。**页面会显示应用 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)。

💻 更喜欢克隆仓库?(适合需要修改代码的用户)
  1. 克隆并安装:
    git clone https://github.com/claude-book/mcp-server-google-forms.git
    cd mcp-server-google-forms
    npm install
    
  2. **授权:**运行 npm run token,并在浏览器中批准。
  3. 在 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,其优先级高于内置凭据。

创建自己的项目,逐步操作
  1. 在 console.cloud.google.com:创建项目 → 启用 Google Forms API → 配置 OAuth 同意屏幕(类型为外部)→ 将自己添加为测试用户(否则授权会因“访问被拒绝”而失败)→ 创建凭据(OAuth 客户端 ID,类型为桌面应用)。
  2. 创建时立即下载 JSON——Google 不允许之后再下载(如果丢失,请创建另一个客户端)。
  3. 将 client_secret*.json 放入 ~/.config/mcp-server-google-forms/(Windows: C:\Users\SeuNome\.config\mcp-server-google-forms\)——如果是通过克隆安装,也可以放入 credentials/。
  4. 运行授权命令;终端会确认:“正在使用您自己的 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)
凭据存放位置

服务和授权脚本会按以下顺序查找凭据:

  1. 如果设置了环境变量 GOOGLE_FORMS_MCP_DIR,则在该变量指定的文件夹中;
  2. 如果项目中存在 credentials/ 文件夹,则在其中(通过克隆安装时);
  3. 在 ~/.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 模式):流程的安全性来自用户在浏览器中的 同意,而不是该值的保密性。


文档

引用

本软件拥有永久 DOI(每次发布时归档至 Zenodo;元数据见 CITATION.cff):

Alvarenga da Silva, H. (2026). mcp-server-google-forms:Google Forms 的 MCP 服务。Zenodo. https://doi.org/10.5281/zenodo.21296975

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。