Skip to content

Latest commit

 

History

History
88 lines (70 loc) · 2.18 KB

File metadata and controls

88 lines (70 loc) · 2.18 KB

Google Forms MCP

MCP server for Google Forms.

Quick Start

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

Then run /google-forms in Claude Code to complete setup.

Manual Installation

git clone https://github.com/udecode/google-forms-mcp.git ~/.claude/mcp/google-forms-mcp
cd ~/.claude/mcp/google-forms-mcp
bun install && bun run build

Setup

  1. Enable Google Forms API + Google Drive API at console.cloud.google.com
  2. Create OAuth 2.0 credentials (Desktop app)
  3. Get refresh token:
    cd ~/.claude/mcp/google-forms-mcp
    GOOGLE_CLIENT_ID="..." GOOGLE_CLIENT_SECRET="..." bun run token
  4. Add to .mcp.json:
    {
      "mcpServers": {
        "google-forms-mcp": {
          "command": "bun",
          "args": ["/Users/YOUR_USERNAME/.claude/mcp/google-forms-mcp/build/index.js"],
          "env": {
            "GOOGLE_CLIENT_ID": "...",
            "GOOGLE_CLIENT_SECRET": "...",
            "GOOGLE_REFRESH_TOKEN": "..."
          }
        }
      }
    }

Tools

Tool Description
create_form Create form
get_form Get form details
list_forms List all forms
update_form Update title/description
delete_form Delete form
add_section Add visual divider (no page break)
add_page Add page break (requires Next button)
add_text_question Add text question
add_multiple_choice_question Add radio/checkbox question
update_question Modify question
delete_question Remove question
get_form_responses Get responses

Item Order (CRITICAL)

All items are added at index 0. The LAST item you add appears FIRST.

For a form with sections, add in reverse:

create_form → update_form
add: last question
add: last section header
...
add: first question
add: first section header  ← LAST (appears first)

Multiple Choice Options

Options support both formats:

  • Simple: ["Option A", "Option B"]
  • With description: [{ "label": "Option A", "description": "Details" }]

Set multiSelect: true for checkboxes, omit for radio buttons.

License

MIT