Gemini CLI 拡張機能を使ってみる

1. はじめに

Gemini CLI は、Gemini モデルの機能をコマンドラインで直接利用できるようにする、ターミナル向けのオープンソースの AI 搭載エージェントです。単体でも強力ですが、Gemini CLI 拡張機能を使用することで、その真の可能性が発揮されます。

拡張機能は、Gemini CLI の機能を拡張するための公式かつ標準化された方法です。拡張機能が登場する前は、CLI のカスタマイズには settings.json などの構成ファイルを手動で編集することが多く、このプロセスは「煩雑でエラーが発生しやすい」ものでした。

拡張機能は、Gemini CLI のカスタマイズの「輸送コンテナ」のようなものと考えることができます。これは、Gemini に新しいスキルを教えるために必要なすべてのコンポーネントをバンドルした、自己完結型でバージョン管理が可能で、簡単に配布できるパッケージです。この「輸送コンテナ」には、次のものが含まれます。

  • MCP サーバー構成: Gemini を Google Cloud APIs やサードパーティ サービスなどの外部ツールや API に接続します。
  • コンテキスト ファイル(GEMINI.md): 新しいツールを効果的に使用するための具体的な手順とガイドラインをモデルに提供する「プレイブック」です。
  • カスタム スラッシュ コマンド(.toml ファイル): 複雑な複数ステップのプロンプトを、/deploy などのシンプルで使いやすいコマンドにカプセル化します。
  • ツール制限(excludeTools): 組み込みツールを無効にして、より安全で集中しやすい環境を構築できます。

拡張機能の主な価値は、Gemini CLI をパーソナル アシスタントからスケーラブルなエンタープライズ対応プラットフォームに変えることです。チームはクラウド スタック全体を 1 つの拡張機能にパッケージ化できるため、新しいデベロッパーは 1 つのコマンドで生産性を高めることができます。

この Codelab では、この強力なエコシステムの使用方法を学びます。拡張機能を作成するのではなく、4 つの異なる拡張機能をインストールして使用し、ターミナルにアプリケーションのデプロイ、セキュリティ分析、データ分析、Infrastructure as Code の機能を追加します。

演習内容

  • Gemini CLI とその Google Cloud の前提条件をインストールして構成します。
  • 公式の Gemini CLI 拡張機能ギャラリーで拡張機能を探します。
  • gemini extensions コマンドライン インターフェースを使用して、拡張機能のインストール、一覧表示、管理を行います。
  • Gemini CLI 拡張機能をいくつか試す

学習内容

  • Gemini CLI 拡張機能とは何か、また、CLI をカスタマイズするための標準である理由。
  • 拡張機能ギャラリーまたは GitHub URL から拡張機能を見つけてインストールする方法。
  • キー管理コマンド(gemini extensions installgemini extensions listgemini extensions update)の機能。
  • Gemini CLI 拡張機能をインストールして使用する

必要なもの

  • Chrome ウェブブラウザ
  • Gmail アカウント
  • 課金が有効になっている Cloud プロジェクト

この Codelab は、あらゆるレベルのユーザーとデベロッパー(初心者を含む)を対象としています。Gemini CLI の基本的な知識があることを前提としていますが、Gemini CLI をゼロからインストールする手順も説明します。Gemini CLI について詳しく知りたい場合は、Codelab: Gemini CLI を使ってみるをお試しください。

2. 始める前に

プロジェクトを作成する

  1. Google Cloud コンソールのプロジェクト選択ページで、Google Cloud プロジェクトを選択または作成します。
  2. Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。
  1. Cloud Shell(Google Cloud で動作するコマンドライン環境)を使用します。この環境には bq がプリロードされています。Google Cloud コンソールの上部にある [Cloud Shell をアクティブにする] をクリックします。

[Cloud Shell をアクティブにする] ボタンの画像

  1. Cloud Shell に接続したら、次のコマンドを使用して、すでに認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されていることを確認します。
gcloud auth list
  1. Cloud Shell で次のコマンドを実行して、gcloud コマンドがプロジェクトを認識していることを確認します。
gcloud config list project
  1. プロジェクトが設定されていない場合は、次のコマンドを使用して設定します。
gcloud config set project <YOUR_PROJECT_ID>
  1. 次のコマンドを使用して、必要な API を有効にします。これには数分かかることがあります。
gcloud services enable cloudresourcemanager.googleapis.com \
                       servicenetworking.googleapis.com \
                       run.googleapis.com \
                       cloudbuild.googleapis.com \

コマンドが正常に実行されると、次のようなメッセージが表示されます。

Operation "operations/..." finished successfully.

API が見つからない場合は、実装中にいつでも有効にできます。

gcloud コマンドとその使用方法については、ドキュメントをご覧ください。設定を行い、Gemini CLI を実行する前に、その中に作成するすべてのプロジェクトのホーム フォルダとして使用するフォルダを作成しましょう。これは Gemini CLI が動作するための出発点ですが、必要に応じて、システム上の他のフォルダも参照します。これらのフォルダについては後で説明します。

サンプル フォルダ(gemini-cli-projects)を作成し、以下のコマンドでそのフォルダに移動します。別のフォルダ名を使用する場合は、そのようにしてください。

mkdir gemini-cli-projects

そのフォルダに移動します。

cd gemini-cli-projects

新しい Cloud Shell ターミナルの gemini コマンドを使用して Gemini CLI を直接起動するか、別の Cloud Shell ターミナルで起動します。

Gemini CLI との最初のやり取り

Gemini CLI 環境が正常であることを確認する必要があるため、次のように最初のプロンプトを入力します。

Give me a famous quote on Artificial Intelligence and who said that?

クエリの結果、GoogleSearch ツール(Gemini CLI の組み込みツール)が呼び出されたことがわかります。つまり、Gemini CLI の強力な組み込みツールの 1 つである GoogleSearch をすでに使用しています。このツールは、ウェブから取得した情報に基づいて回答を生成します。クエリに対するレスポンスが返されます。

次に、拡張機能について説明します。

3. 拡張機能とは

拡張機能は、自己完結型でバージョン管理が可能で、簡単に配布できるパッケージです。これは、Gemini CLI のカスタマイズの「輸送コンテナ」のようなもので、特定のワークフローに必要なものをすべて 1 つの整然としたパッケージにバンドルします。

816cd3c3d4057c11.png

拡張機能は、次の任意の組み合わせをバンドルできます。

  • カスタム スラッシュ コマンド(.toml ファイル)。
  • MCP サーバー構成(以前は settings.json に存在していました)。
  • モデルに具体的な手順とガイドラインを提供するコンテキスト ファイル(GEMINI.md)。
  • より安全で集中しやすい環境を構築するためのツール制限(excludeTools)。

拡張機能を使用する理由主なメリット

カスタマイズに拡張機能を採用すると、次のような強力なメリットがあります。

  • ワンコマンド インストール: これが重要です。ユーザーは、複数の手動設定を行う代わりに、gemini extensions install <URL> または gemini extensions install --path=some/local/path という単一のコマンドで、完全で複雑なツールセットをインストールできます。上記のコマンドの <URL> は、拡張機能をホストしている GitHub の URL になります。
  • 配布の簡素化: 単一の Git リポジトリ URL を共有するだけで、作業を共有できるようになります。個々のファイルや構成スニペットをやり取りする必要がなくなります。
  • バージョン管理と依存関係の管理: 拡張機能は通常 Git リポジトリでホストされるため、バージョン管理を無料で利用できます。拡張機能を最新バージョンに更新する gemini extensions update command があります。
  • 検出可能性とエコシステム: 拡張機能は、VS Code や Chrome のマーケットプレイスと同様に、豊富でオープンなエコシステムの基盤となります。拡張機能メカニズムは、将来のマーケットプレイスの基盤となる可能性があります。このマーケットプレイスでは、拡張機能のレビューやダウンロードなどが、真のコミュニティ スタイルで利用できるようになります。

拡張機能フレームワークの導入は、Gemini CLI が強力なスタンドアロン ツールから真の拡張可能なプラットフォームへと進化していることを示す明確なシグナルです。

4. 拡張機能の基本を理解する

このセクションでは、拡張機能エコシステムのユーザー向けの部分(拡張機能の検索管理)について説明します。

拡張機能ギャラリーは、Google が作成した公式の拡張機能とサードパーティの拡張機能をすべて見つけることができる中央のマーケットプレイスです。

  1. ブラウザで次の URL(https://geminicli.com/extensions/browse/)を開きます。
  2. このギャラリーは、エコシステムの検出エンジンです。GitHub、Redis、DynaTrace などの企業の拡張機能が表示され、利用可能なツールの幅広さがわかります。
  3. 下にスクロールして、Cloud Run の拡張機能カードを見つけます。
  4. カードには、説明、作成者(Google)、ワンクリックの Copy install コマンドボタンが表示されます。これが拡張機能のインストール コマンドを取得する最も簡単な方法です。

Gemini CLI 拡張機能 - 管理コマンド

gemini extensions コマンドは、ローカル拡張機能を管理するためのエントリ ポイントです。

ターミナルで実行すると、使用可能なコマンドのリストが表示されます。

5a774a9fab1be3ed.png

コマンドは簡単です(インストール/アンインストール、リスト、更新、有効/無効など)。この Codelab では、これらのコマンドの一部を使用します。

現在の状態を確認する

インストールを行う前に、クリーンな状態を確認しましょう。

  1. gemini extensions list コマンドを実行します。
  2. 次の出力が表示され、拡張機能がまだインストールされていないことが確認されます。
No extensions installed.

5. Cloud Run 拡張機能(アプリのデプロイ)

Gemini CLI 拡張機能ギャラリーで利用可能な Cloud Run 拡張機能は、アプリケーションを Cloud Run にデプロイできる MCP サーバーです。

以下は、拡張機能ギャラリーの Cloud Run 拡張機能カードです。

648026b7668d0db.png

まず、上の図のように [インストール コマンドをコピー] をクリックして、Cloud Run 拡張機能をインストールします。このコマンドを Cloud Shell ターミナルに貼り付けます(次のようになります)。

gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp

上記のコマンドを実行すると、確認が必要なメッセージが表示されます。承認してください。Cloud Run 拡張機能が正常にインストールされます。

Installing extension "cloud-run".
**Extensions may introduce unexpected behavior. Ensure you have investigated the extension source and trust the author.**
This extension will run the following MCP servers:
  * cloud-run (local): npx -y @google-cloud/cloud-run-mcp
This extension will append info to your gemini.md context using gemini-extension/GEMINI.md
Do you want to continue? [Y/n]: Y
Extension "cloud-run" installed successfully and enabled.

gemini extensions list コマンドを実行すると、次のように Cloud Run 拡張機能がインストールされていることがわかります。

✓ cloud-run (1.0.0)
 Path: <HOME_FOLDER>/.gemini/extensions/cloud-run
 Source: https://github.com/GoogleCloudPlatform/cloud-run-mcp (Type: github-release)
 Release tag: v1.5.0
 Enabled (User): true
 Enabled (Workspace): true
 Context files:
  <HOME_FOLDER>/.gemini/extensions/cloud-run/gemini-extension/GEMINI.md
 MCP servers:
  cloud-run

ここで Gemini CLI を起動して /mcp コマンドを実行すると、次のようになります。

7ca93915c06e4ce2.png

Cloud Shell に戻って、アプリケーションのデプロイを試してみましょう。そのためには、まず Cloud Run にデプロイするシンプルなアプリケーションが必要です。以下の手順に沿って操作してください。

前に作成したフォルダ(gemini-cli-projects)にいることを確認します。このフォルダ内に gemini-cloud-run という名前の別のフォルダを作成し、そのフォルダに移動します。

mkdir gemini-cloud-run

cd gemini-cloud-run

このフォルダに 2 つのファイル(app.py ファイルと requirements.txt ファイル)を作成します。内容は次のとおりです。

app.py

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
  return 'Hello from Gemini and Cloud Run!'
if __name__ == "__main__":
  app.run(debug=True, host='0.0.0.0', port=8080)

requirements.txt

Flask
gunicorn

gemini-cloud-run フォルダから Gemini CLI を起動し、ターミナルが準備できたら、次のプロンプトを入力します。

/deploy --project="PROJECT_ID" --location="PROJECT_LOCATION" --name="SERVICE_NAME"

PROJECT_ID(Google Cloud プロジェクト ID)、PROJECT_LOCATIONSERVICE_NAME を指定する必要があります。指定しない場合、Cloud Run コマンドは適切なツールを呼び出して、選択を支援します。

このプロセスの一環として、インストールした Cloud Run MCP サーバー拡張機能から適切なツールが選択されます。たとえば、次のようなメッセージが表示されます。

9dcf78679bffd710.png

ツールの使用を許可してください。

これで、Gemini CLI は、ツールの実行に必要なすべての情報と権限を取得しました。これで、Docker イメージのビルド、Artifact Registry への push、新しい Cloud Run サービスの構成とデプロイなど、デプロイ パイプライン全体が実行されます。

しばらくすると(実際には 2 ~ 3 分)、サービス URL を含む成功メッセージが表示されます。実行例を以下に示します。

The Cloud Run service SERVICE_NAME has been deployed from the current folder in project PROJECT_ID.
  You can view the service in the Cloud Console: https://console.cloud.google.com/run/detail/PROJECT_LOCATION/SERVICE_NAME?project=PROJECT_ID
  The service is accessible at: https://SERVICE_NAME-SOME-ID.a.run.app

リンクをクリックしてください。Flask アプリがホームページを提供していることがわかります。

92414fd2270ccc46.png

これは、Gemini CLI 拡張機能(この場合は Cloud Run)の威力を示しています。gcloud CLI コマンドの複雑さを完全にカプセル化し、すべての詳細を簡単に処理します。

Cloud Run MCP サーバーの他のツールも自由にお試しください。

6. BigQuery 拡張機能(大規模なデータセットの分析)

このチュートリアルを進めるには、次のものが必要です。

  • BigQuery API が有効になっている Google Cloud プロジェクト。
  • IAM 権限:
  • BigQuery ユーザー(roles/bigquery.user)
  1. このコマンドを実行して、BIGQUERY_PROJECT 環境変数を設定します。これは、BigQuery ジョブを実行するプロジェクトです。必ずしもデータが存在するプロジェクトである必要はありません(ただし、同じプロジェクトにすることもできます)。
export BIGQUERY_PROJECT=<YOUR_GCP_PROJECT_ID>
  1. 次のコマンドを使用して、BigQuery Data Analytics 拡張機能をインストールします。インストールを許可してください。インストールが成功すると、設定に 2 つの拡張機能(cloud-runbigquery-data-analytics)がインストールされます。
gemini extensions install https://github.com/gemini-cli-extensions/bigquery-data-analytics
  1. 次のコマンドを使用して、Gemini CLI を再度起動しましょう。
gemini

ターミナルで Gemini CLI が起動します。7a140fbd0d7f7d3c.png

次のコマンドは、Gemini CLI ターミナルに入力する必要があります。

  1. 次のスラッシュ コマンドを入力して、BigQuery 拡張機能がインストールされ、使用できる状態になっていることを確認します。
/extensions list

bigquery-data-analytics 拡張機能も表示されます。

9461d5119d9dc693.png

  1. 次のコマンドを実行して、使用可能なツールを確認します。
/mcp list

fd23c246e2a6e4db.png

  1. BigQuery の一般公開データセット(look ecommerce)について、基本的な分析に関する質問をしてみましょう。このデータセットには、架空の衣料品 e コマースサイトの顧客、商品、注文に関するデータが含まれています。Gemini CLI に次のプロンプトを入力します。
Look at BigQuery's the look ecommerce public dataset. Identify the top 5 products that had the most orders.
  • Gemini CLI は、BigQuery ツールの実行を許可するかどうかを尋ねます。続行するには、3 番目のオプション Yes, always allow all tools from server "bigquery_data_analytics" を選択します。3d6e7372e5147216.png
  • 内部的には、Gemini は適切な SQL クエリを生成し、execute_sql ツールを呼び出して、データとともに自然言語のレスポンスを返します。

ac5c0cd94bc3bb78.png

  1. 次に、Gemini に過去のデータに基づいて商品の返品率を予測してもらいます。このコマンドでは、Gemini CLI はこの予測を作成するための詳細な SQL を生成しようとせず、MCP サーバーから forecast ツールを呼び出します。このツールは、内部で BigQuery の AI.Forecast を使用します。
Forecast what the return rate will be next month.
  • 次のようなレスポンスが表示されます。

8a763a03852984ff.png

7. さらに詳しく

これで Codelab は終了です。この Codelab では、Gemini CLI 拡張機能とは何か、拡張機能を使用するための基本的なコマンドについて説明し、cloud-run 拡張機能と bigquery-data-analytics 拡張機能という 2 つの拡張機能について説明しました。

Gemini 拡張機能ギャラリー(https://geminicli.com/extensions/)にアクセスして、現在利用可能な拡張機能(執筆時点で 100 種類以上)をご覧ください。各拡張機能カードには、情報、拡張機能のタイプ(MCP、コンテキストなど)、GitHub リポジトリのリンク、環境に拡張機能をインストールするコマンドが表示されます。

1c26d4f029747914.png

8. 完了

これで、Gemini CLI 拡張機能と、さまざまな Gemini CLI 拡張機能をインストールして使用する方法を理解できました。

リファレンス ドキュメント