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. refresh token を取得します:
    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改ページ(Next ボタンが必要です)
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

選択肢

次の 2 つの形式に対応しています:

// 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作成時に説明を設定できませんcreate_form の後に update_form を使用します
Displayed text cannot contain newlines選択肢に \n を含められませんラベルと説明を区切るには「 – 」(en ダッシュ)を使用します
Cannot set option.value when isOther is true「その他」の選択肢には値を設定できませんMCP で修正済みです。includeOther: true を使用するだけです

セクションとページ

  • add_section - 視覚的な区切りのみで、同じページにとどまります(textItem を使用)
  • add_page - 改ページを作成し、ユーザーが「Next」をクリックします(pageBreakItem を使用)

1 ページのアンケートでは、常に add_section を使用してください。

コメント