mcpField
G
Google Forms MCP

Google Forms MCP

ローカル
github.com生産性04 週間前に更新

Google Forms MCP について

Google Forms MCPは、AIアプリからGoogle Formsを作成・管理し、回答を確認して送信通知を設定するMCPサーバーです。フォームは未公開状態で作成され、回答の読み取りはできますが、送信や編集はできません。

主な機能

  1. 01フォーム構成と回答の確認
  2. 02フォーム作成と質問の管理
  3. 03フォーム公開と回答受付の制御
  4. 04Pub/Subウォッチの設定
  5. 05回答の読み取り専用操作

活用シーン

  1. 01フォームの質問と回答設定の確認
  2. 02アンケートの自由記述回答の要約
  3. 03必須の評価質問の追加
  4. 04新しい回答の通知設定

MCP 対応

フォーム、質問、回答、公開、Pub/Subウォッチ用ツールを通じて、Google Forms APIの機能をMCPクライアントに公開します。会話からOAuth認証を開始できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"a1-x-tech-mcp-google-forms": {
"command": "npx",
"args": [
"-y",
"mcp-google-forms"
],
"env": {
"GOOGLE_FORMS_CLIENT_ID": "<GOOGLE_FORMS_CLIENT_ID>",
"GOOGLE_FORMS_CLIENT_SECRET": "<GOOGLE_FORMS_CLIENT_SECRET>",
"GOOGLE_FORMS_REFRESH_TOKEN": "<GOOGLE_FORMS_REFRESH_TOKEN>",
"GOOGLE_FORMS_ACCESS_TOKEN": "<GOOGLE_FORMS_ACCESS_TOKEN>",
"GOOGLE_FORMS_OAUTH_PORT": "<GOOGLE_FORMS_OAUTH_PORT>",
"GOOGLE_FORMS_API_BASE": "<GOOGLE_FORMS_API_BASE>",
"GOOGLE_FORMS_TIMEOUT_MS": "<GOOGLE_FORMS_TIMEOUT_MS>",
"GOOGLE_FORMS_MAX_RETRIES": "<GOOGLE_FORMS_MAX_RETRIES>"
}
}
}
}
起動コマンドnpx -y mcp-google-forms
設定が必要な環境変数
GOOGLE_FORMS_CLIENT_IDGoogle OAuth2 client id (refresh-token flow).
GOOGLE_FORMS_CLIENT_SECRETシークレットGoogle OAuth2 client secret (refresh-token flow). Treat it as a secret.
GOOGLE_FORMS_REFRESH_TOKENシークレットGoogle OAuth2 refresh token, exchanged for access tokens automatically. Treat it as a secret.
GOOGLE_FORMS_ACCESS_TOKENシークレットStatic OAuth2 access token (~1h lifetime) — alternative to the refresh-token trio, mostly for testing.
GOOGLE_FORMS_OAUTH_PORTシークレットFixed port for the loopback listener of the in-chat login (127.0.0.1 + PKCE). Set it when the client runs over SSH port forwarding; otherwise a free port is picked per login.
GOOGLE_FORMS_API_BASEAPI root override.
GOOGLE_FORMS_TIMEOUT_MSPer-request timeout in milliseconds.
GOOGLE_FORMS_MAX_RETRIESRetries on transient errors (429 always; 5xx/network for reads).

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcp-google-forms1.2.0

ツール

19

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

A1 Google Forms MCP

日本語 | Русский

npm Glama CI License: MIT

A1 Google Forms MCPを使うと、AI アプリで自然な言葉を使って Google フォームを作成、管理できます。アンケートを作成し、質問を選び、準備ができたら公開して、回答を読み取り、新しい回答の通知を利用できます。

Google アカウントを使って Google Forms API と連携します。下書きフォームと公開済みフォームを区別し、すべてのフォーム操作が可能であるかのように見せることなく、Forms API の制限を明示します。

  • 19 個のツール。 フォームの構造や回答を確認し、フォームや質問を作成・編集し、公開を管理して、Pub/Sub の監視を設定できます。
  • 会話から接続できます。 「Google Forms に接続して」と伝えると、サーバーが OAuth クライアントの設定を案内し、PKCE を使って 127.0.0.1 への Google のリダイレクトを受け取り、トークンをサーバー内に保持します。設定ファイルも再起動も不要です。
  • 意図的に公開します。 API 経由で作成したフォームは未公開の状態で始まるため、公開するまでは回答を収集できません。
  • 回答はそのまま保持されます。 API では回答を読み取れますが、作成や編集はできません。サーバーには回答を送信するツールはありません。
  • 最小限の Google スコープ。 広範な Drive アクセスを使わず、forms.body と forms.responses.readonly を使用します。

まずは読み取り専用の質問から始めましょう。

顧客フィードバックフォームの昨日の回答を表示し、自由記述の回答を要約してください。

サーバーに接続する · ユースケースを見る · 技術ドキュメントを開く


1 分で動作を確認

あなた: 顧客フィードバックフォームの質問と回答設定を表示してください。

アシスタント: フォーム、項目、公開状態、回答を受け付けているかどうかを表示します。何も変更しません。

あなた: 最初の質問の後に、「ご利用体験はいかがでしたか?」という必須の 1~5 段階評価の質問を追加する準備をしてください。

アシスタント: 対象のフォーム、位置、追加予定の質問を表示し、追加する前に確認を求めます。

あなた: 確定。

アシスタント: フォームに質問を追加します。別途依頼されない限り、フォームを公開したり、受付を終了したりすることはありません。

目次

クイックスタート

Node.js 20 以降と Google アカウントが必要です。インストール時に認証情報は不要です。サーバーは会話中に接続します。

  1. AI アプリにサーバーを追加します。
  2. 「connect Google Forms」と伝えると、アシスタントが設定ファイルを編集せずに、OAuth クライアントの作成とアクセスの承認を案内します。
  3. 上記の読み取り専用の質問をします。
Codex

アプリの場合: Settings → MCP servers を開き、Add server を選択して、STDIO を選びます。コマンド npx -y mcp-google-forms@latest と環境変数 GOOGLE_FORMS_CLIENT_ID、GOOGLE_FORMS_CLIENT_SECRET、GOOGLE_FORMS_REFRESH_TOKEN を入力し、Save、Restart の順に選択します。

コマンドラインの場合:

codex mcp add google-forms \
  -- npx -y mcp-google-forms@latest
codex mcp list

Codex MCP のドキュメント

Claude Code
claude mcp add \
  --transport stdio --scope user google-forms \
  -- npx -y mcp-google-forms@latest
claude mcp list

Claude Code MCP のドキュメント

Claude Desktop

現在の公式な手順は Settings → Extensions です。カスタムのデスクトップ拡張機能を使用するには、Advanced settings → Extension Developer → Install Extension… を開き、.mcpb ファイルを選択して、画面の指示に従います。

このリポジトリで現在公開されているのは npm の stdio パッケージで、.mcpb バンドルは含まれていません。ローカル設定に引き続き対応している Claude Desktop ビルドでは、次の JSON stdio 設定を代替として使用してください。

{
  "mcpServers": {
    "google-forms": {
      "command": "npx",
      "args": ["-y", "mcp-google-forms@latest"]
    }
  }
}

これらのビルドでは、macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json、Windows の場合は %APPDATA%\Claude\claude_desktop_config.json に保存します。

Claude Desktop MCP のドキュメント

Cursor

macOS/Linux では ~/.cursor/mcp.json に、Windows では %USERPROFILE%\.cursor\mcp.json に次の内容を追加します。

{
  "mcpServers": {
    "google-forms": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-forms@latest"]
    }
  }
}

Cursor MCP のドキュメント

VS Code

MCP: Open User Configuration を実行し、次の内容を追加します。

{
  "servers": {
    "google-forms": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-forms@latest"]
    }
  }
}

MCP: List Servers で確認します。

VS Code MCP のドキュメント

依頼できること

アンケートと回答を確認する
  • このフォームの質問、回答設定、回答者用リンクを表示する。
  • 月曜日以降に届いた回答はいくつですか?自由記述のフィードバックを要約してください。
  • ID を指定して回答を 1 件表示する。
フォームを作成、改善する
  • 氏名、食事の希望、到着日を尋ねる出欠確認フォームを作成する。
  • 必須の評価、ドロップダウン、日付、時刻、選択肢、またはテキストの質問を追加する。
  • 質問の順序を変更するか、タイトル、説明、クイズモード、またはメール収集の設定を更新する。
公開して通知を連携する
  • 作成済みのフォームを公開し、回答者用 URL を表示する。
  • フォームを削除せずに、新しい回答の受付を停止する。
  • 新しい回答の通知を受け取る Cloud Pub/Sub のウォッチを作成、更新、または削除する。

フォームの仕組み

  1. create_form は フォーム を作成します。フォームはデフォルトで未公開の状態です。
  2. 質問は アイテム であり、フォーム内での位置によって識別されます。
  3. フォームを公開すると回答者が利用できるようになります。回答の受付を終了しても公開状態は維持されますが、新しい回答は受け付けなくなります。
  4. 回答は読み取り専用の別個の記録です。API では、回答者の回答を送信、編集、削除できません。

ファイルアップロードの質問は Forms API から作成できませんが、既存のファイルアップロード項目は読み取れます。Google の公開モデル導入前に作成された古いフォームでは、公開設定に対応していない場合があります。

変更内容

操作内容確認の境界
フォームと回答を読み取るフォームの構成と送信内容を読み取ります変更なし
フォームを作成する未公開のフォームを追加しますGoogle Forms を変更します
質問を追加または移動するフォーム項目を変更しますフォームを変更します
フォーム情報、設定、または項目を更新するタイトル、設定、または選択した質問を変更しますフォームを変更します
回答を公開、非公開、開始、または締め切るフォームを利用できるユーザーを変更しますフォームの公開状況を変更します
項目を削除する選択した質問を削除します破壊的な操作
Pub/Sub ウォッチを管理する通知配信を作成、更新、または削除します破壊的な操作となる可能性があります
生の API リクエスト専用ツールを使わずに API メソッドを呼び出せます破壊的な操作となる可能性があります

確認プロンプトは AI クライアントが制御します。サーバーは読み取り、書き込み、破壊的なツールにそれぞれ印を付け、クライアントが調査と実際の変更を区別できるようにします。

アクセス権の取得

Google Forms では OAuth 2.0 が必要です。API キーだけでは利用できません。アクセス方法は 2 つあり、1 つ目は設定ファイルが不要です。

チャットから接続する(推奨)

「connect Google Forms」と伝えると、アシスタントが手順を一緒に進めます。

  1. setup_instructions がチェックリストを表示します。Google Cloud プロジェクトを作成または選択し、Google Forms API を有効にして、同意画面を設定し、Desktop app の OAuth クライアントを作成します。
  2. そのクライアントの JSON(「Download JSON」)をダウンロードし、アシスタントにそのパスを伝えます。set_client が所有者のみアクセスできるように保存します。シークレットが会話を経由することはありません。
  3. start_login が Google の同意リンクを返します。このマシン上でリンクを開いて承認すると、コードが 127.0.0.1 上の一度限りのリスナーに返されます(PKCE)。チャットを経由することはありません。
  4. finish_login がコードを交換し、トークンを ~/.config/mcp-google-forms/credentials.json に保存します(モード 0600)。

トークンは呼び出しごとに読み込まれるため、接続後すぐに利用できます。AI アプリを再起動する必要はありません。auth_status で接続状況を確認でき、logout で認証を取り消して認証情報を削除できます。

環境変数(CI、無人インストール)
  1. Google Cloud プロジェクトを作成または選択し、Google Forms API を有効にします。

  2. OAuth 同意画面を設定し、Desktop app の OAuth クライアントを作成します。

  3. フォームの所有者、またはフォームを編集できる Google アカウントを認証します。OAuth 2.0 Playground では、Use your own OAuth credentials を有効にすると、リフレッシュトークンを取得できます。

  4. 次の両方のスコープをリクエストします。

    https://www.googleapis.com/auth/forms.body
    https://www.googleapis.com/auth/forms.responses.readonly
    

テストモードの OAuth リフレッシュトークンは、7 日後に期限切れになることがあります。長期アクセスが必要な場合は、OAuth アプリを公開するか、Workspace ドメイン内で Internal アプリを使用してください。クライアントシークレットとリフレッシュトークンはパスワードとして扱ってください。

設定

すべての変数は任意です。何も指定しない場合、サーバーはチャットから接続します。

変数必須説明
GOOGLE_FORMS_CLIENT_IDいいえ*OAuth クライアント ID。
GOOGLE_FORMS_CLIENT_SECRETいいえ*OAuth クライアントシークレット。
GOOGLE_FORMS_REFRESH_TOKENいいえ*OAuth リフレッシュトークン。
GOOGLE_FORMS_ACCESS_TOKENいいえ*OAuth の 3 つの認証情報に代わる、有効期間の短いトークン。
GOOGLE_FORMS_OAUTH_PORTいいえチャット内ログインに使用する固定のループバックポート。SSH ポート転送を使う場合に便利です。
GOOGLE_FORMS_API_BASEいいえGoogle Forms API のベース URL の上書き。
GOOGLE_FORMS_TIMEOUT_MSいいえリクエストごとのタイムアウト。デフォルトは 60000 ms です。
GOOGLE_FORMS_MAX_RETRIESいいえ一時的なエラーの再試行回数。デフォルトは 3 です。

* OAuth の 3 つの認証情報、またはアクセストークンのいずれかを指定してください。

データ、制限、バックグラウンド処理

  • リクエストは Google Forms に送信されます。 ローカルサーバーが Google OAuth トークンを更新し、Forms API を呼び出します。匿名テレメトリに含まれるのは、インストール ID、パッケージのバージョン、AI クライアントとプラットフォームのバージョン、ツール名です。OAuth トークン、フォームデータ、ツールの引数、プロンプトは含まれません。オプトアウトするには、ASKADS_TELEMETRY=0 を設定してください。
  • Google には分単位の割り当て制限があります。 公開されている上限は、プロジェクトあたりの読み取りが 975 回、list_responses の呼び出しが 450 回、書き込みが 375 回です。429 が発生すると、サーバーはバックオフを行います。読み取りではネットワークエラーと 5xx エラーの後にも再試行しますが、不確定な失敗後に書き込みを再実行することはありません。
  • バックグラウンドでのポーリングはありません。 サーバーは呼び出されたときだけ実行されます。Pub/Sub の監視を使うと、新しい回答について独自のインフラストラクチャに通知できます。AI アプリがスケジュールタスクに対応している場合は、回答を定期的に確認することもできます。

技術ドキュメント

サポート

バグを見つけた場合や、シナリオの追加が必要な場合は、issue を作成するか、Telegram でご連絡ください。


モナたちがハイタッチしています

最後までご覧いただき、ありがとうございます!

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。