mcpField
G
google-forms

google-forms

github.com/udecode生产力135 次安装39 周前更新
代码仓库

关于 google-forms

google-forms 是通过 MCP 工具管理 Google Forms 的技能,支持创建和编辑表单及问题,也可读取表单结构和回复,并设置分区、分页和选项。

主要功能

  1. 01创建、列出、更新和删除表单
  2. 02添加分区和分页
  3. 03创建和修改文本题及选择题
  4. 04读取表单结构和回复
  5. 05配置选择题选项

适用场景

  1. 01创建包含多个分区的调查表
  2. 02修改现有表单中的问题
  3. 03查看已提交的表单回复
  4. 04为选项配置“其他”文本输入

MCP 相关

它提供用于 Google Forms 操作的 MCP 工具,包括表单与问题管理以及回复读取。设置说明介绍了如何在 `.mcp.json` 中将其配置为 MCP 服务。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/udecode/google-forms-mcp --skill google-forms

安装后在 Claude Code 中输入/google-forms确认已加载。

详细介绍

Google Forms MCP

设置

  1. 在 console.cloud.google.com 启用 Google Forms API + Google Drive API
  2. 创建 OAuth 2.0 凭据(Desktop app 类型)
  3. 获取刷新令牌:
    cd ~/.claude/mcp/google-forms-mcp
    bun install && bun run build
    GOOGLE_CLIENT_ID="..." GOOGLE_CLIENT_SECRET="..." bun run token
    
  4. 添加到 .mcp.json(使用完整路径,不要使用 ~):
    {
      "mcpServers": {
        "google-forms-mcp": {
          "command": "bun",
          "args": ["/Users/USERNAME/.claude/mcp/google-forms-mcp/build/index.js"],
          "env": {
            "GOOGLE_CLIENT_ID": "...",
            "GOOGLE_CLIENT_SECRET": "...",
            "GOOGLE_REFRESH_TOKEN": "..."
          }
        }
      }
    }
    
  5. 运行 /mcp reset 以加载

工具

工具描述
create_form创建表单(返回 formId)
update_form更新标题/描述
get_form获取表单结构
list_forms列出所有表单
delete_form永久删除表单
add_section视觉分隔符(不分页)
add_page分页符(需要“下一步”按钮)
add_text_question自由文本输入
add_multiple_choice_question单选按钮或复选框
update_question修改现有问题
delete_question按索引删除问题
get_form_responses获取已提交的答复

项目顺序(重要)

所有项目都会添加到索引 0。 最后添加的项目会显示在最前面。

对于包含多个部分的表单,请按相反顺序添加:

1. create_form → update_form (description)
2. Additional Notes (last item)
3. Last section questions (e.g., 4.2, 4.1)
4. Last section header (Section 4)
5. Previous section questions (e.g., 3.4, 3.3, 3.2, 3.1)
6. Previous section header (Section 3)
7. ... continue for all sections ...
8. First section questions (e.g., 1.3, 1.2, 1.1)
9. First section header (Section 1) ← ADD LAST, APPEARS FIRST

单选题选项

支持两种格式:

// Simple strings
options: ["Option A", "Option B", "Option C"]

// With descriptions (renders as "Label – Description")
options: [
  { label: "Option A", description: "Details about A" },
  { label: "Option B", description: "Details about B" }
]

参数:

  • includeOther: true - 添加带文本框的“其他”选项
  • multiSelect: true - 复选框(可多选)
  • multiSelect: false - 单选按钮(单选,默认)

API 限制

错误原因解决方案
Only info.title can be set when creating a form创建时无法设置描述创建后使用 update_form
Displayed text cannot contain newlines选项中不能包含 \n使用“ – ”(短横线)分隔标签和描述
Cannot set option.value when isOther is true“其他”选项不能设置值已在 MCP 中修复——直接使用 includeOther: true

部分与页面

  • add_section - 仅添加视觉分隔符,仍位于同一页面(使用 textItem)
  • add_page - 创建分页符,用户点击“下一步”(使用 pageBreakItem)

对于单页调查问卷,始终使用 add_section。

评论

支持 Markdown