1. はじめに
Gemini CLI は、Gemini モデルの機能をコマンドラインで直接利用できるようにする、ターミナル向けのオープンソースの AI 搭載エージェントです。Gemini CLI は単体でも強力ですが、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 install、gemini extensions list、gemini extensions update)の機能。 - Gemini CLI 拡張機能をインストールして使用する
必要なもの
- Chrome ウェブブラウザ
- Gmail アカウント
- 課金が有効になっている Cloud プロジェクト
この Codelab は、あらゆるレベルのユーザーとデベロッパー(初心者を含む)を対象としています。Gemini CLI についてある程度の知識があることを前提としていますが、Gemini CLI をゼロからインストールする手順も説明します。Gemini CLI について詳しく知りたい場合は、Codelab: Gemini CLI を使ってみるをお試しください。
2. 始める前に
プロジェクトを作成する
- Google Cloud コンソールのプロジェクト選択ページで、Google Cloud プロジェクトを選択または作成します。
- Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。
- Cloud Shell(Google Cloud で動作するコマンドライン環境)を使用します。この環境には bq がプリロードされています。Google Cloud コンソールの上部にある [Cloud Shell をアクティブにする] をクリックします。
![[Cloud Shell をアクティブにする] ボタンの画像](https://codelabs.developers.google.com/static/getting-started-gemini-cli-extensions/img/91567e2f55467574.png?authuser=3&hl=ja)
- Cloud Shell に接続したら、次のコマンドを使用して、すでに認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されていることを確認します。
gcloud auth list
- Cloud Shell で次のコマンドを実行して、gcloud コマンドがプロジェクトを認識していることを確認します。
gcloud config list project
- プロジェクトが設定されていない場合は、次のコマンドを使用して設定します。
gcloud config set project <YOUR_PROJECT_ID>
- 次のコマンドを使用して、必要な 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 つの整然としたパッケージにバンドルします。

拡張機能は、次の任意の組み合わせをバンドルできます。
- カスタム スラッシュ コマンド(.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 が作成した公式の拡張機能とサードパーティの拡張機能をすべて見つけることができる中央のマーケットプレイスです。
- ブラウザで次の URL(
https://geminicli.com/extensions/browse/)を開きます。 - このギャラリーは、エコシステムの検出エンジンです。GitHub、Redis、DynaTrace などの企業の拡張機能が表示され、利用可能なツールの幅広さがわかります。
- 下にスクロールして、Cloud Run の拡張機能カードを見つけます。
- カードには、説明、作成者(Google)、ワンクリックの
Copy installコマンドボタンが表示されます。これが拡張機能のインストール コマンドを取得する最も簡単な方法です。
Gemini CLI 拡張機能 - 管理コマンド
gemini extensions コマンドは、ローカル拡張機能を管理するためのエントリ ポイントです。
ターミナルで実行すると、使用可能なコマンドのリストが表示されます。

コマンドは簡単です(インストール/アンインストール、リスト、更新、有効/無効など)。この Codelab では、これらのコマンドの一部を使用します。
現在の状態を確認する
インストールを行う前に、クリーンな状態を確認しましょう。
gemini extensions listコマンドを実行します。- 次の出力が表示され、拡張機能がまだインストールされていないことが確認されます。
No extensions installed.
5. Cloud Run 拡張機能(アプリのデプロイ)
Gemini CLI 拡張機能ギャラリーで利用可能な Cloud Run 拡張機能は、アプリケーションを Cloud Run にデプロイできる MCP サーバーです。
以下は、拡張機能ギャラリーの Cloud Run 拡張機能カードです。

まず、上の図のように [インストール コマンドをコピー] をクリックして、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 コマンドを実行すると、次のようになります。

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_LOCATION、SERVICE_NAME を指定する必要があります。指定しない場合、Cloud Run コマンドは適切なツールを呼び出して、選択を支援します。
このプロセスの一環として、インストールした Cloud Run MCP サーバー拡張機能から適切なツールが選択されます。たとえば、次のようなメッセージが表示されます。

ツールの使用を許可してください。
これで、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 アプリがホームページを提供していることがわかります。

これは、Gemini CLI 拡張機能(この場合は Cloud Run)の機能を示しています。この拡張機能は、gcloud CLI コマンドの複雑さを完全にカプセル化し、すべての詳細を簡単に処理します。
Cloud Run MCP サーバーの他のツールも自由にお試しください。
6. BigQuery 拡張機能(大規模なデータセットの分析)
このチュートリアルを進めるには、次のものが必要です。
- BigQuery API が有効になっている Google Cloud プロジェクト。
- IAM 権限:
- BigQuery ユーザー(roles/bigquery.user)
- 次のコマンドを実行して、
BIGQUERY_PROJECT環境変数を設定します。これは、BigQuery ジョブを実行するプロジェクトです。必ずしもデータが存在するプロジェクトである必要はありません(ただし、同じプロジェクトである可能性もあります)。
export BIGQUERY_PROJECT=<YOUR_GCP_PROJECT_ID>
- 次のコマンドを使用して、BigQuery データ分析拡張機能をインストールします。インストールを許可してください。インストールが成功すると、設定に 2 つの拡張機能(
cloud-runとbigquery-data-analytics)がインストールされます。
gemini extensions install https://github.com/gemini-cli-extensions/bigquery-data-analytics
- 次のコマンドを使用して、Gemini CLI を再度起動しましょう。
gemini
Gemini CLI がターミナルで起動します。
次のコマンドは、Gemini CLI ターミナルに入力する必要があります。
- 次のスラッシュ コマンドを入力して、BigQuery 拡張機能がインストールされ、使用できる状態になっていることを確認します。
/extensions list
bigquery-data-analytics 拡張機能も表示されます。

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

- 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"を選択します。
- 内部的には、Gemini は適切な SQL クエリを生成し、
execute_sqlツールを呼び出して、データとともに自然言語の回答を返します。

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

7. Google Workspace 拡張機能(日常的なワークフロー)
Google Workspace 拡張機能は、ドキュメント、Chat、カレンダー、ドライブなどの Google Workspace アプリケーションと統合する MCP サーバーとして利用できます。この拡張機能の主な特徴は、ローカル実行モデルです。MCP サーバーはクラウドではなく、ユーザーのマシンで実行されます。ユーザー自身の OAuth 認証情報を使用して Google API と直接通信します。
拡張機能ギャラリーの Google Workspace 拡張機能カードは次のとおりです。

Google Workspace 拡張機能をインストールするには、[コピー] ボタンをクリックし、そのコマンドを Cloud Shell ターミナルに貼り付けます(次のようになります)。
gemini extensions install https://github.com/gemini-cli-extensions/workspace
上記のコマンドを実行すると、確認が必要なメッセージが表示されます。承認してください。これで、Google Workspace 拡張機能が正常にインストールされます。
ここで gemini extensions list コマンドを実行すると、以下のように Google Workspace 拡張機能がインストールされていることがわかります(出力はこれと似たものになります)。
✓ google-workspace (v0.0.3)
ID: 40be7ad1253320a38aba2f107f21349b41a458416fd4616550c832ff1d3b7dce
name: a1f88ed96997755f9cd591bb26d8e1087e5969979caabe19fcde7b3544ea1a1e
Path: /Users/romin/.gemini/extensions/google-workspace
Source: https://github.com/gemini-cli-extensions/workspace (Type: github-release)
Release tag: v0.0.3
Enabled (User): true
Enabled (Workspace): true
Context files:
/Users/romin/.gemini/extensions/google-workspace/WORKSPACE-Context.md
MCP servers:
google-workspace
ここで Gemini CLI を起動すると、この拡張機能の設定プロセスで最も重要なステップである認証を行う必要があります。静的 API キーを使用する単純なスクリプトとは異なり、Workspace 拡張機能はユーザーの代わりに承認済みエージェントとして機能するため、機密性の高いスコープ(ドライブ、メール、カレンダー)へのアクセスが必要です。
拡張機能が OAuth 2.0 フローを開始します。アカウントを選択すると、拡張機能がリクエストしている権限(スコープ)の一覧が表示されます。これらは広範囲に及び、以下に示すような重要なものも含まれます。

この OAuth 2.0 ダンスを完了すると、設定は完了です。
拡張機能が正常にインストールされたかどうかを確認するには、Gemini を起動して /mcp list コマンドを使用します。これにより、拡張機能がインストールされ、コマンドが MCP ツールとして公開されたことが示されます。以下に、このスクリーンショットを示します。

Workspace ツール
この拡張機能は、特定の Google Workspace API エンドポイントを LLM が呼び出すことができる「ツール」にマッピングします。これらのツールはランダムに選ばれたものではなく、知識労働の主なモダリティをカバーするように厳選されています。
- ファイル管理(ドライブ)
- ドキュメント作成(ドキュメント)
- 時間管理(カレンダー)
- コミュニケーション(Gmail/Chat)
利用可能なさまざまなツールに基づいて試すことができる例をいくつか見てみましょう。これらのツールをテストするには、接続された Gmail アカウントにメールがいくつかあり、カレンダーのスケジュールや Google ドライブのファイルなどがあることが想定されます。
ドライブとドキュメント : ナレッジベース
Google ドライブに設計ドキュメントや興味深いドキュメントがある場合は、次のようなサンプル プロンプトを使用して、ドキュメントの検索と要約を試すことができます。
Search for <DOC_NAME> in Google Drive
ドキュメントが見つかると、Gemini CLI はドキュメントとそのドキュメント ID を一覧表示します。次に、次のようにドキュメントの要約を依頼します。
Summarize <DOC_ID> for me
情報が必要なときに通常行うアクティビティをやってみましょう。ウェブを検索し、関連する情報を Google ドキュメントにまとめます。
次のようなプロンプトを考えてみましょう。
Lookup information on The Richat Structure (Eye of Africa) and create a 1-pager document for me with relevant information about
このプロンプトにより、まず Gemini CLI が Google 検索ツールを実行してウェブから情報を取得し、その情報をリクエストどおりに 1 ページのドキュメントに合成して、Google ドライブに新しい Google ドキュメントを作成します。
Google ドライブにアクセスして、作成されたドキュメントを確認してください。以下のドキュメントは、サンプル実行によるものです。

カレンダー
拡張機能で利用できるカレンダー ツールを使用して、時間を管理するエグゼクティブ アシスタントとして機能させます。
/calendar:get-schedule を使用するか、自然言語クエリのみを使用して情報を取得するかを選択できます。
まず、今日のスケジュールを確認する基本的な方法から見ていきましょう。次のプロンプトを入力します。今日のカレンダーにアクセスし、今日のカレンダーの予定を設定したことがわかります(今日のカレンダーにいくつかの予定が設定されていることを確認してください)。
What does my schedule look like for today?
次の操作を試してください。
その日のスケジュールから特定の時間帯を尋ね、提示された時間帯に満足したら、その日の予定を作成するように依頼することもできます。ぜひお試しください。
コミュニケーション: Gmail と Chat
/gmail:search ツールを使用してメールを検索し、メール スレッドからコンテキストを取得できます。
たとえば、毎週届く特定のメールや、特定のチームからのメールなどがある場合は、次のようなプロンプトでそれらのメールを検索してみてください。
/gmail:search "Project Phoenix updates"
次のようなプロンプトを使用して、特定のメールの要約を依頼し、Google Chat のスペースに送信することもできます。
Send a chat message to <SPACE_NAME> and highlight the key points from the email.
上記はほんの一例です。より複雑なワークフローは次のように検討します。
Find the 'Project Phoenix Design Doc' in Drive,
read the section on API authentication,
and help me scaffold the middleware based on those specs.
Send a message to the ‘Core Eng' chat space letting them know the deployment is starting now.
このような拡張機能を活用する最善の方法は、自分のファイル、カレンダー、Gmail などで試してみて、自動化したいフローや、コンテキストの切り替えを回避して時間を節約するより良い方法を考案することです。
8. さらに詳しく
これで Codelab は終了です。この Codelab では、Gemini CLI 拡張機能とは何か、拡張機能を使用するための基本的なコマンド、cloud-run 拡張機能と bigquery-data-analytics 拡張機能という 2 つの拡張機能について説明しました。
Gemini 拡張機能ギャラリー(https://geminicli.com/extensions/)にアクセスして、現在利用可能な拡張機能(執筆時点で 100 種類以上)をご覧ください。各拡張機能カードには、情報、拡張機能のタイプ(MCP、コンテキストなど)、GitHub リポジトリのリンク、環境に拡張機能をインストールするコマンドが含まれています。

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