mcpField
G
Google Apps Script MCP

Google Apps Script MCP

ローカル
github.com開発ツール0今日更新

Google Apps Script MCP について

Google Apps Script MCPは、AIアプリから自然言語でGoogle Apps Scriptのプロジェクトを管理するサービスです。編集可能なHEADと不変バージョンを区別し、APIの制約も明示します。

主な機能

  1. 01単独またはバインド型プロジェクトの作成
  2. 02コードファイルの読み取りと更新
  3. 03不変バージョンのスナップショット作成
  4. 04デプロイ管理とバージョン切り替え
  5. 05関数実行と実行履歴の確認
  6. 06実行メトリクスの確認

活用シーン

  1. 01スクリプトファイルと最近の失敗の確認
  2. 02他のファイルを保ち指定ファイルだけ編集
  3. 03バージョンのデプロイや以前の版への復帰
  4. 04関数を実行して結果を確認

MCP 対応

MCP サーバーとして、Google Apps Scriptのプロジェクト、コード、バージョン、デプロイ、実行履歴、メトリクスを扱うツールをMCPクライアントに提供します。Google Apps Script APIとOAuthでGoogleアカウントにアクセスします。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"a1-x-tech-mcp-google-apps-script": {
"command": "npx",
"args": [
"-y",
"mcp-google-apps-script"
],
"env": {
"GOOGLE_APPS_SCRIPT_CLIENT_ID": "<GOOGLE_APPS_SCRIPT_CLIENT_ID>",
"GOOGLE_APPS_SCRIPT_CLIENT_SECRET": "<GOOGLE_APPS_SCRIPT_CLIENT_SECRET>",
"GOOGLE_APPS_SCRIPT_REFRESH_TOKEN": "<GOOGLE_APPS_SCRIPT_REFRESH_TOKEN>",
"GOOGLE_APPS_SCRIPT_ACCESS_TOKEN": "<GOOGLE_APPS_SCRIPT_ACCESS_TOKEN>",
"GOOGLE_APPS_SCRIPT_OAUTH_PORT": "<GOOGLE_APPS_SCRIPT_OAUTH_PORT>",
"GOOGLE_APPS_SCRIPT_API_BASE": "<GOOGLE_APPS_SCRIPT_API_BASE>",
"GOOGLE_APPS_SCRIPT_TIMEOUT_MS": "<GOOGLE_APPS_SCRIPT_TIMEOUT_MS>",
"GOOGLE_APPS_SCRIPT_MAX_RETRIES": "<GOOGLE_APPS_SCRIPT_MAX_RETRIES>"
}
}
}
}
起動コマンドnpx -y mcp-google-apps-script
設定が必要な環境変数
GOOGLE_APPS_SCRIPT_CLIENT_IDGoogle OAuth2 client id (refresh-token flow).
GOOGLE_APPS_SCRIPT_CLIENT_SECRETシークレットGoogle OAuth2 client secret (refresh-token flow). Treat it as a secret.
GOOGLE_APPS_SCRIPT_REFRESH_TOKENシークレットGoogle OAuth2 refresh token, exchanged for access tokens automatically. Treat it as a secret.
GOOGLE_APPS_SCRIPT_ACCESS_TOKENシークレットStatic OAuth2 access token (~1h lifetime) — alternative to the refresh-token trio, mostly for testing.
GOOGLE_APPS_SCRIPT_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_APPS_SCRIPT_API_BASEAPI root override.
GOOGLE_APPS_SCRIPT_TIMEOUT_MSPer-request timeout in milliseconds.
GOOGLE_APPS_SCRIPT_MAX_RETRIESRetries on transient errors (429 always; 5xx/network for reads).

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

パッケージ
npmmcp-google-apps-script1.1.1

ツール

18

掲載時のツール一覧 · 今日に更新

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

詳細

A1 Google Apps Script MCP

日本語 | Русский

npm Glama CI License: MIT

A1 Google Apps Script MCP を使うと、AI アプリが平易な言葉で Google Apps Script の作成や操作を行えます。スクリプトプロジェクトの作成、コードの閲覧と編集、バージョンのスナップショット作成、デプロイの管理、関数の実行、実行履歴の確認ができます。

Google アカウントを使って Google Apps Script API を利用します。編集可能な HEAD コードと変更不可能なバージョンを区別し、すべてのスクリプト作業が可能であるかのように示すのではなく、Apps Script API の制限を明示します。

  • 19 個のツール。 スタンドアロンプロジェクトとバインドプロジェクトの作成、コードファイルの閲覧と更新、変更不可能なバージョンのスナップショット作成、デプロイの管理、関数の実行、実行履歴とメトリクスの確認ができます。
  • 会話から接続できます。 「Google Apps Script に接続して」と伝えると、サーバーが OAuth クライアントの設定を案内し、PKCE を使って 127.0.0.1 で Google からのリダイレクトを受け取り、トークンを保持します。設定ファイルも再起動も必要ありません。
  • バージョンは変更できません。 バージョンは HEAD のスナップショットであり、編集も削除もできません。デプロイはバージョンを参照するため、URL を変更せずにリリースやロールバックができます。
  • マニフェストは常に保持されます。 マージモードでは appsscript マニフェストと、指定していないすべてのファイルが保持されます。置換モードでは、マニフェストのないファイルセットをネットワーク通信の前に拒否します。
  • scriptId を保持してください。 API ではプロジェクトを一覧表示できず、削除もできません。create_project が返す scriptId だけがプロジェクトを参照する手段です。
  • Google のスコープは最小限です。 各操作で独自のスコープ(script.projects、script.deployments、script.processes、script.metrics)が指定されます。タスクに必要なものだけをリクエストしてください。

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

レポートスクリプトのファイルと、今週失敗した関数を表示してください。

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


1 分で動作を確認

あなた: レポートスクリプトのコードと最近の実行履歴を表示してください。

アシスタント: すべてのファイルとそのソース、実行履歴を表示します。どの関数がいつ実行され、どれが失敗したかを確認できます。変更はありません。

あなた: Utils ファイルに formatDate ヘルパーを追加して、ほかはそのままにしてください。

アシスタント: 提案するソースを表示し、マージモードではほかのファイルが変更されないことを確認したうえで、書き込み前に確認を求めます。

あなた: 確認します。

アシスタント: ファイルを HEAD に書き込みます。別途依頼しない限り、バージョンの作成、再デプロイ、実行は行いません。

目次

クイックスタート

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

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

アプリから設定する場合: Settings → MCP servers を開き、Add server を選択して、STDIO を選びます。コマンド npx -y mcp-google-apps-script@latest と環境変数 GOOGLE_APPS_SCRIPT_CLIENT_ID、GOOGLE_APPS_SCRIPT_CLIENT_SECRET、GOOGLE_APPS_SCRIPT_REFRESH_TOKEN を入力し、Save、Restart の順に選択します。

コマンドラインから設定する場合:

codex mcp add google-apps-script \
  -- npx -y mcp-google-apps-script@latest
codex mcp list

Codex MCP のドキュメント

Claude Code
claude mcp add \
  --transport stdio --scope user google-apps-script \
  -- npx -y mcp-google-apps-script@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-apps-script": {
      "command": "npx",
      "args": ["-y", "mcp-google-apps-script@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-apps-script": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-apps-script@latest"]
    }
  }
}

Cursor MCP のドキュメント

VS Code

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

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

MCP: List Servers を実行して確認します。

VS Code MCP のドキュメント

できること

プロジェクトと実行履歴を確認する
  • このスクリプトのファイルを表示し、各関数の役割を説明してください。
  • 今週失敗した関数はどれですか? sendDigest の実行履歴を表示してください。
  • 過去 7 日間に、このスクリプトで発生したユーザー数、実行回数、失敗回数はいくつですか?
コードを作成し、発展させる
  • スタンドアロンのプロジェクト、または Doc、Sheet、Slides、Form にバインドされたスクリプトを作成してください。
  • 他のファイルには手を加えず、1 つのファイルにヘルパー関数を追加してください。
  • リファクタリングの前に、説明を付けて現在のコードをバージョンとしてスナップショットしてください。
デプロイ、実行、ロールバックする
  • バージョン 4 をデプロイし、エントリーポイント(ウェブアプリの URL または API 実行可能な設定)を表示してください。
  • sendDigest を実行して結果を表示してください。スクリプトが例外をスローした場合は、スタックトレースを表示してください。
  • URL を変更せずに、デプロイ先をバージョン 3 に戻してください。

プロジェクトの変更方法

  1. create_project は、単独のプロジェクト、または Doc、Sheet、Slides、Form に紐付いたプロジェクトを作成します。API ではプロジェクトを一覧表示できないため、返された scriptId は必ず保存してください。
  2. コードは HEAD にあり、拡張子を付けずにファイル名で指定します。update_project_content はデフォルトでマージします。指定したファイルを追加または更新し、それ以外はそのまま保持します。全体の置き換えを明示した場合に限り、ファイル一式を置き換えます。appsscript マニフェストは削除できません。
  3. create_version は HEAD の不変バージョンを作成します。編集も削除もできず、番号が減ることはありません。
  4. デプロイメントは、バージョンをウェブアプリまたは API 実行可能ファイルとして公開します。デプロイメントを更新すると、URL を変えずに参照先のバージョンが切り替わります。自動作成された @HEAD デプロイメントは削除できません。

API ではプロジェクトも削除できません。削除するにはその Drive ファイルを削除する必要がありますが、このサーバーでは対応していません。run_function の実行には、API 実行可能デプロイメント、スクリプトと同じ Cloud プロジェクトの OAuth クライアント、そしてトークンに含まれるスクリプト独自のスコープが必要です。Apps Script は、実行開始から 6 分後にすべての実行を停止します。実行履歴で確認できるのはステータスと実行時間のみで、エラーメッセージは表示されません。エラーは Cloud Logging で確認するか、関数を再実行して確認してください。

変更できる内容

操作内容確認が必要な境界
プロジェクト、そのコード、バージョン、実行履歴、指標を読み取るデータを読み取ります変更なし
プロジェクトを作成する単独または紐付けられたスクリプトプロジェクトを追加しますGoogle Apps Script を変更
プロジェクトのファイルを更新するHEAD のコードを上書きします。置き換えモードではファイル一式を入れ替えますプロジェクトを変更
バージョンを作成する削除できない不変のスナップショットを追加しますプロジェクトを変更
デプロイメントを作成または更新する公開中の URL または API エンドポイントから提供される内容を変更しますプロジェクトの公開中の動作を変更
デプロイメントを削除するデプロイメントの URL を永久に使用できなくします破壊的操作
関数を実行する実際の副作用を伴うコードを実行します破壊的操作
生の API リクエスト専用ツールなしで API メソッドを呼び出せます破壊的な操作になる可能性あり

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

アクセスの取得

Google Apps Script では OAuth 2.0 が必要です。API キーだけでは利用できません。利用を開始する方法は 2 つあり、1 つ目は設定ファイルを必要としません。

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

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

  1. setup_instructions でチェックリストが表示されます。Google Cloud プロジェクトの作成または選択、Apps Script 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-apps-script/credentials.json(モード 0600)に保存します。また、実際の Apps Script API 呼び出しでトークンを検証するため、API がまだ無効になっている場合もその場で検出できます。

呼び出しのたびにトークンが再読み込みされるため、AI アプリを再起動しなくても、接続はすぐに有効になります。auth_status で接続状況を確認でき、logout で認証を取り消して認証情報を削除できます。

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

  2. script.google.com/home/usersettings でアカウントごとの切り替えをオンにします。オンにしないと、すべての呼び出しが 403 で失敗します。

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

  4. スクリプトを所有する Google アカウントを承認します。OAuth 2.0 Playground では、Use your own OAuth credentials を有効にすると、リフレッシュトークンを取得できます。

  5. 使用するツールに必要なスコープをリクエストします。

    https://www.googleapis.com/auth/script.projects
    https://www.googleapis.com/auth/script.deployments
    https://www.googleapis.com/auth/script.processes
    https://www.googleapis.com/auth/script.metrics
    

    閲覧のみの場合は、最初の2つを読み取り専用の script.projects.readonly と script.deployments.readonly に置き換えます。list_processes と get_project_metrics には引き続き script.processes と script.metrics が必要で、これらにはより限定的な形式はありません。run_function にはこれらのスコープは不要です。代わりに、トークンには対象スクリプト自体が使用するすべてのスコープが含まれている必要があり、OAuth クライアントはスクリプトと同じ Cloud プロジェクトに属している必要があります。

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

setup_instructions ツールは同じチェックリストを返すため、認証情報を設定する前でも使用できます。

設定

すべての変数は省略可能です。何も設定しなくても、サーバーはチャットから接続します。

変数必須説明
GOOGLE_APPS_SCRIPT_CLIENT_IDいいえ*OAuth クライアント ID。
GOOGLE_APPS_SCRIPT_CLIENT_SECRETいいえ*OAuth クライアントシークレット。
GOOGLE_APPS_SCRIPT_REFRESH_TOKENいいえ*OAuth リフレッシュトークン。
GOOGLE_APPS_SCRIPT_ACCESS_TOKENいいえ*OAuth の3つの値に代わる、短期間有効なトークン。
GOOGLE_APPS_SCRIPT_OAUTH_PORTいいえチャット内ログイン用の固定ループバックポート。SSH ポートフォワーディング経由で使用する場合に便利です。
GOOGLE_APPS_SCRIPT_API_BASEいいえGoogle Apps Script API のベース URL の上書き値。
GOOGLE_APPS_SCRIPT_TIMEOUT_MSいいえリクエストごとのタイムアウト。デフォルトは 60000 ミリ秒です。
GOOGLE_APPS_SCRIPT_MAX_RETRIESいいえ一時的なエラーの再試行回数。デフォルトは 3 です。

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

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

  • リクエストは Google Apps Script に送信されます。 ローカルサーバーは Google OAuth トークンを更新し、Apps Script API を呼び出します。匿名のテレメトリには、インストール ID、パッケージのバージョン、AI クライアントとプラットフォームのバージョン、ツール名が含まれます。OAuth トークン、スクリプトのソース、ツールの引数、プロンプトは含まれません。オプトアウトするには、ASKADS_TELEMETRY=0 を設定します。
  • 書き込みを確認せずに再実行することはありません。 429 の場合、サーバーはバックオフを使用します。ネットワークエラーや 5xx エラーの後も読み取りは再試行しますが、失敗が不確かな場合、書き込みは再実行されません。create_version を重複すると変更できないバージョンが積み重なり、run_function を重複すると副作用が2回実行されるためです。結果が不確かな失敗の後は、再送信するのではなく、list_versions または実行履歴を確認してください。
  • バックグラウンドでのポーリングはありません。 サーバーは呼び出されたときのみ動作し、関数は実行を依頼されたときのみ実行されます。スクリプトは Google 側で独自の Apps Script トリガーを維持します。AI アプリがスケジュールタスクに対応している場合は、実行履歴を定期的に確認することもできます。

技術ドキュメント

サポート

バグを見つけた場合やシナリオが必要な場合は、イシューを作成するか、Telegramに書き込んでください。


2人のモナがハイタッチしています

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

コメント

MCP は初めてですか?

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

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