Looker が管理する MCP サーバー
Looker マネージド MCP サーバーは、Model Context Protocol(MCP)サーバーを Looker プラットフォームに直接埋め込む組み込みのインテグレーションです。これにより、Gemini CLI、Claude Desktop、Cursor、Copilot などの AI エージェントが Looker インスタンスに安全に接続し、ビジネスデータと LookML モデルを操作できるようになります。
Looker はサーバーをホストすることで、独自のミドルウェア インフラストラクチャをデプロイして維持する必要をなくし、信頼できるビジネス分析情報へのプラグ アンド プレイ、安全で管理されたゲートウェイを提供します。
Looker 管理の MCP サーバーは、Looker(Google Cloud コア)インスタンスと Looker(オリジナル)インスタンスでプレビュー版として提供されています。このプレビューでは、セルフホスト型(オンプレミス)インスタンスは対象外です。
セルフホスト型のインスタンスを使用している場合や、独自のインフラストラクチャを管理する場合は、スタンドアロンの データベース向け MCP ツールボックス を使用して接続できます。MCP ツールボックスは、ローカル コンピュータまたは独自のサーバーで実行できるオープンソースの MCP サーバーです。AI エージェントと Looker インスタンス間のブリッジとして機能します。詳細については、MCP、Gemini CLI、その他のエージェントで Looker を使用するのドキュメント ページをご覧ください。
始める前に
Looker マネージド MCP サーバーを使用するには、次の要件を満たす必要があります。
インスタンスの要件
- Looker(Google Cloud コア)インスタンスまたは Looker(オリジナル)インスタンスを使用している必要があります。
- インスタンスは Looker でホストされている必要があります。
必要な権限
- ツールへのアクセスを管理するには、管理者の Looker ロールが必要です。
- API Explorer を使用して AI エージェントを OAuth クライアントとして登録するには、管理者 Looker ロールが必要です。
- AI エージェントを Looker 管理の MCP サーバーに接続するには: OAuth 接続プロセス中に認証を行うために、標準の Looker ログイン認証情報が必要です。AI エージェントは、まず Looker 管理者によって OAuth クライアントとして登録される必要があります。接続が確立されると、AI エージェントは認証を行ったユーザーの Looker ロールとアクセス権を継承します。
マネージド MCP サーバーを設定する
ツールアクセスを構成して、マネージド MCP サーバーを設定します。
ツールの設定を構成する
デフォルトでは、管理対象 MCP サーバーのすべてのツールが無効になっています。Looker 管理者は、AI エージェントが使用できるツールを明示的に有効にする必要があります。ツールを有効にする手順については、管理者の設定 - Model Context Protocol(MCP)に関するドキュメント ページをご覧ください。
OAuth を使用して AI エージェントを登録する
プレビュー リリース期間中は、Looker 管理者が AI エージェントを管理対象 MCP サーバーに接続するために、AI エージェントを手動で登録する必要があります。
Looker API Explorer を開きます。
Looker インスタンスに API Explorer がすでにインストールされている場合は、次の URL 形式でアクセスできます。
https://LOOKER_INSTANCE_URL/extensions/marketplace_extension_api_explorer::api-explorer/Looker インスタンスに API Explorer がない場合は、Looker Marketplace からインストールできます。詳細については、API Explorer の使用ページをご覧ください。
プライベート サービス アクセスを使用する Looker(Google Cloud コア)プライベート接続インスタンスを使用している場合、Looker Marketplace と API Explorer はサポートされていません。AI エージェントを登録するには、
oauth_client_appsAPI エンドポイントを直接呼び出す必要があります。この方法を使用する場合は、次の API Explorer の手順をスキップして、MCP クライアントを構成するセクションに直接進みます。このセクションを開くと、
oauth_client_appsエンドポイントで使用してエージェントを登録できるcurlコマンドの例が表示されます。curl -X POST "https://LOOKER_INSTANCE_URL/api/4.0/oauth_client_apps/CLIENT_GUID" \ -H "Authorization: token ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "redirect_uri": "REDIRECT_URI", "display_name": "CLIENT_NAME", "description": "OAuth client to access MCP server using CLIENT_NAME", "enabled": true }'
[認証] メソッドで、[OAuth アプリを登録] API エンドポイントを見つけます。検索フィールドで「oauth app」を検索することもできます。
[OAuth アプリを登録] ページで、[実行] ボタンをクリックします。
[実行] ダイアログの [リクエスト] タブで、対応するフィールドに次の情報を入力します。
[
client_guid] フィールドで、次の操作を行います。- エージェントが特定のクライアント ID を指定した場合は、そのクライアント ID を使用します。
- エージェントが特定のクライアント ID を指定していない場合は、グローバルに一意の ID を使用します。
- エージェントを使用する LookML デベロッパーに ID を配布できるように準備します。
redirect_uriの場合、URI は AI エージェント アプリケーションによって異なります。特定のリダイレクト URL については、エージェントの OAuth 認証に関するドキュメントをご覧ください。形式は次のいずれかの例のようになります。Gemini CLI
http://localhost:7777/oauth/callback
Gemini Code Assist
http://localhost:7777/oauth/callback
Gemini Code Assist で Gemini CLI を使用することをおすすめします。この場合、同じローカル コールバック サーバーとポート構成が共有されます。
Claude Code
Claude Code は OAuth コールバックに利用可能なランダムなポートを使用しますが、登録済みの URI と一致するように
フラグ(または--callback-port 8080mcp.jsonのcallbackPort設定)を使用して修正する必要があります。http://localhost:8080/callback
VS Code とその他の IDE
IDE の場合、リダイレクト URI は IDE に合わせてカスタマイズされ、次のようになります。
vscode://google.vscode-looker-official/oauth_callback
クラウドでホストされているアプリ
クラウドホスト型アプリケーションの場合、安全な HTTPS URL のように見えることがあります。
https://AI_AGENT_URL/oauth2callback
ローカルアプリ
ローカルで実行されているアプリケーションの場合、静的ポートを含む localhost URL にする必要があります。
http://localhost:7777/oauth/callback
OAuth クライアント アプリケーションの登録に関するドキュメントの説明に従って、
display_nameとdescriptionを完了します。
[この API エンドポイントがデータを変更することを理解しています] チェックボックスをオンにします。
[実行] をクリックします。
次の手順で、API Explorer の
Get OAuth Client Appメソッドを使用して、認証が正常に設定されたことを確認できます。- API Explorer の [Search] フィールドに、「OAuth Client App」と入力します。
- [実行] をクリックします。
[client_guid] フィールドに、OAuth の登録時に使用した値を入力します。
client_guid
OAuth が正常に設定されると、[レスポンス] タブはアプリの登録時に入力した値を返します。
MCP クライアントを構成する
AI エージェントを登録すると、MCP クライアントとしてマネージド MCP エンドポイントに接続できます。クライアントのセットアップを完了するには、エージェントのドキュメントを参照してください。
- サーバーの URL:
LOOKER_INSTANCE_URL/mcp - 認証: OAuth 2.1
構成例(mcp.json)
このセクションでは、Looker マネージド MCP サーバーを使用して Looker インスタンスに接続するようにさまざまなデベロッパー ツールを構成する方法について説明します。MCP サーバーは IDE と Looker の間に配置され、AI ツール用の安全で効率的なコントロール プレーンを提供します。特定のツールのタブを選択して、構成手順を確認します。
Gemini CLI
Looker マネージド MCP サーバーに直接接続するように Gemini CLI を構成します。
- Gemini CLI をインストールします。
- 次のコマンドを使用して、リモート MCP サーバーを追加します。
LOOKER_INSTANCE_URLは Looker インスタンスの URL に置き換えます。gemini mcp add --transport http looker LOOKER_INSTANCE_URL/mcp
または、
settings.jsonファイル(~/.gemini/settings.jsonまたはプロジェクト ディレクトリにあります)に次の構成を追加して、手動で構成することもできます。{ "mcpServers": { "looker": { "httpUrl": "LOOKER_INSTANCE_URL/mcp" } } } - インタラクティブ モードで Gemini CLI を起動します。
接続を求めるプロンプトが表示されたら、CLI は OAuth 認証フローを開始して、Looker インスタンスで安全に認証します。gemini
Gemini Code Assist
Gemini CLI を使用するように Gemini Code Assist を構成することをおすすめします。このアプローチでは、MCP サーバーを手動で構成する必要がなくなります。
- Gemini CLI と Looker マネージド MCP サーバーがインストールされ、構成されていることを確認します。
- Gemini CLI を使用するように Gemini Code Assist を構成します。
- Gemini Code Assist チャット内で自然言語を使用して Looker インスタンスとのやり取りを開始します。
Claude Code
- Claude Code をインストールします。
- プロジェクトのルートに
.mcp.jsonファイルが存在しない場合は作成します。 - 次の構成を追加し、
PROXY_URLをリバース プロキシ サーバーのドメインに置き換えて保存します。
{
"mcpServers": {
"looker-toolbox": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
Claude Desktop
- Claude デスクトップで、[設定] に移動し、[コネクタ] を選択します。
- [カスタム コネクタを追加] を選択し、名前(Looker など)を入力します。
- URL には、
/mcpパスが追加された Looker インスタンスの URL を入力します(例:https://looker.example.com/mcp)。 - [詳細設定] で、OAuth アプリの登録時に
client_guidに使用した文字列を正確に入力します。OAuth クライアント シークレットは空白のままにします。 - [追加] を選択してコネクタを保存します。接続を求めるプロンプトが表示されると、Claude デスクトップはブラウザを介して PKCE 認証フローを安全に開始します。
- Claude Desktop を再起動します。
Cline
- IDE で Cline 拡張機能を開き、[MCP Servers] アイコンをクリックします。
- [Configure MCP Servers] をクリックして構成ファイルを開きます。
- 次の構成を追加し、
LOOKER_INSTANCE_URLを Looker URL に置き換えて保存します。
{
"mcpServers": {
"looker-toolbox": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
Cursor
- プロジェクトのルートに
.cursorディレクトリが存在しない場合は作成します。 .cursor/mcp.jsonファイルが存在しない場合は作成したうえで、それを開きます。- 次の構成を追加し、
LOOKER_INSTANCE_URLを Looker URL に置き換えて保存します。
{
"mcpServers": {
"looker-toolbox": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
- Cursor を開き、[Settings] > [Cursor Settings] > [MCP] に移動します。サーバーが接続されると、緑色のアクティブ ステータスが表示されます。
Visual Studio Code(Copilot)
- VS Code を開き、プロジェクトのルートに
.vscodeディレクトリが存在しない場合は作成します。 .vscode/mcp.jsonファイルが存在しない場合は作成したうえで、それを開きます。- 次の構成を追加し、
LOOKER_INSTANCE_URLを Looker インスタンスの URL に置き換えて保存します。
{
"servers": {
"looker-toolbox": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
Windsurf
- Windsurf を開き、Cascade アシスタントに移動します。
- MCP アイコンをクリックし、[Configure] をクリックして構成ファイルを開きます。
- 次の構成を追加し、
LOOKER_INSTANCE_URLを Looker インスタンスの URL に置き換えて保存します。
{
"mcpServers": {
"looker-toolbox": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
クライアントで認証する
mcp.json 設定で MCP クライアントを構成した後、そのクライアントを介して Looker と初めてやり取りしようとすると、OAuth 2.1 認証フローが開始されます。通常、クライアントがブラウザ ウィンドウを開き、標準の認証情報を使用して Looker インスタンスにログインし、アプリケーションに代行して Looker にアクセスする権限を付与する必要があります。
このログイン プロセスは、MCP クライアントが今後のリクエストを行うためのアクセス トークンを取得できるようにするインタラクティブな認証ステップです。
詳細については、クライアントのドキュメントをご覧ください。
接続すると、クライアントは Looker のロールとコンテンツ アクセス権を継承します。クライアントは、Looker 管理者が MCP サーバーで有効にした AI ツールにもアクセスできます。使用可能なすべてのツールのリストについては、AI ツールを使用するのドキュメントをご覧ください。
セキュリティとガバナンス
マネージド MCP サーバーは、Looker の既存のセキュリティとガバナンスのフレームワークを継承するように設計されています。
- 権限境界: サーバーは厳格なユーザーレベルの権限を適用します。AI エージェントは、認証済みユーザーが閲覧を許可されていないデータやモデルにアクセスできません。
- VPC Service Controls: VPC Service Controls を使用する Looker(Google Cloud コア)インスタンスの場合、マネージド MCP エンドポイントは既存の VPC Service Controls 境界を尊重します。追加のポリシーや構成は必要ありません。
- 顧客管理の暗号鍵(CMEK): CMEK を使用する Looker(Google Cloud コア)インスタンスの場合、マネージド MCP サーバーは CMEK に準拠しており、追加のポリシーや構成は必要ありません。
監査ロギング
AI エージェントが行ったすべてのアクションは、Looker のシステム アクティビティと Cloud Audit Logs に記録されます。
System Activity
Looker で管理される MCP サーバーのアクティビティは、[History] と [Event Attribute] の Explore で追跡されます。ドキュメント ページ System Activity Explore を使用して Looker の使用状況をモニタリングするには、次のサンプルクエリが用意されています。
- Looker マネージド MCP サーバーによって開始された API 呼び出しは何ですか?
- Looker マネージド MCP サーバーからのリクエストに関連するイベントは何ですか?
- Looker 管理者が Looker 管理の MCP サーバーツールの設定にどのような更新を行ったかを確認するにはどうすればよいですか?
- Looker マネージド MCP サーバーのユーザーが実行したクエリ
Cloud Audit Logs
Looker(Google Cloud コア)インスタンスは、Cloud Audit Logs を介して Looker 管理の MCP サーバー アクティビティも追跡します。Looker(Google Cloud コア)監査ロギングのドキュメント ページには、クエリのサンプルが記載されています。
制限事項
- きめ細かいスコープ: マネージド MCP サーバーでは、OAuth スコープはまだサポートされていません。アクセス制御は、グローバル ツールの許可リストとユーザーの基本権限に依存します。
- 動的登録: 動的クライアント登録はプレビューでは対象外です。
- クライアントの更新: ツールの許可リストに対する変更は、接続されたクライアントに自動的にプッシュされません。ツールリストを変更した後、30 秒待ってからクライアントを再接続してツール マニフェストを更新する必要があります。MCP サーバーに再接続する方法については、クライアントのドキュメントをご覧ください。
- サーバー容量: プレビュー段階では、パフォーマンス データの収集に役立つように、マネージド MCP サーバーは固定容量で構成されます。使用率がピークに達すると、タイムアウトが発生することがあります。これは想定された動作です。
- IP 許可リスト: Looker マネージド MCP サーバーは、Looker(オリジナル)の IP 許可リストと互換性がありません。Looker(Google Cloud コア)の IP 許可リストと互換性があります。
料金と割り当て
Looker マネージド MCP サーバーは追加料金なしでご利用いただけます。ただし、AI エージェントによるツール呼び出しでは、インスタンスの標準の管理 API とクエリベースの API 割り当てが消費されます。エージェントのアクティビティが多いと、利用可能な API 割り当てに影響する可能性があります。