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 ツールボックスは、ローカル コンピュータまたは独自のサーバーで実行して、AI エージェントと Looker インスタンス間のブリッジとして機能するオープンソースの MCP サーバーです。詳細については、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) のドキュメント ページをご覧ください。
CORS 設定を構成する
MCP クライアントがウェブブラウザで直接実行され、CORS を使用して Looker マネージド MCP サーバーと通信する場合は、Looker 管理者がそのクライアント ウェブサイトのドメインを [埋め込みドメインの許可リスト] にある [管理] パネルに追加する必要があります。
OAuth を使用して AI エージェントを登録する
プレビュー リリースでは、エージェントをマネージド MCP サーバーに接続するには、Looker 管理者が AI エージェントを手動で登録する必要があります。
Looker API Explorer を開きます。
Looker インスタンスに API Explorer がすでにインストールされている場合は、次の URL 形式でアクセスできます。
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 }'
[Auth] メソッドで、[OAuth アプリを登録] API エンドポイントを見つけます。[Search] フィールドで「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 を使用することをおすすめします。この場合、同じローカル コールバック サーバーとポート構成を共有します。
Gemini Enterprise
https://vertexaisearch.cloud.google.com/oauth-redirect
Claude Code
Claude Code は OAuth コールバックにランダムな使用可能なポートを使用しますが、登録済み URI と一致するように
フラグ(または--callback-port 8080mcp.jsoncallbackPort設定)を使用して修正する必要があります。http://localhost:8080/callback
VS Code
VS Code の場合は、次の URI を使用します。
http://127.0.0.1:33418/
クラウドでホストされているアプリ
クラウドでホストされているアプリケーションの場合、安全な HTTPS URL のようになります。
https://AI_AGENT_URL/oauth2callback
ローカル アプリ
ローカルで実行されているアプリケーションの場合は、静的ポートを持つ localhost URL にする必要があります。
http://localhost:7777/oauth/callback
display_nameとdescriptionを OAuth クライアント アプリケーションの登録のドキュメントの説明に沿って入力します。
[この API エンドポイントがデータを変更することを理解しています] チェックボックスをオンにします。
[実行] をクリックします。
次の手順で、API Explorer の
Get OAuth Client Appメソッドを使用して、認証が正常に設定されたことを確認できます。- API Explorer の [Search] フィールドに「Get OAuth Client App 」と入力します。
- [実行] をクリックします。
[CLIENT_GUID] フィールドに、OAuth の登録時に使用した値を入力します。
CLIENT_GUID
OAuth が正常に設定されると、[レスポンス] タブはアプリの登録時に入力した値を返します。
(省略可) 次の手順で、API Explorer の
Activate App Userメソッドを使用して、OAuth アプリのユーザーを事前に有効にできます。- API Explorer の [Search] フィールドに「Activate App User 」と入力します。
- [実行] をクリックします。
[CLIENT_GUID] フィールドに、OAuth アプリの登録時に使用した値を入力します。
CLIENT_GUID[user_id] フィールドに、ユーザーの Looker [user ID] を入力します。
[実行] をクリックします。
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", "oauth": { "clientId": "CLIENT_GUID" } } } } - インタラクティブ モードで 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 インスタンスとのやり取りを開始します。
Gemini Enterprise
カスタム MCP サーバー データストアとして Looker マネージド MCP サーバーに接続するように Gemini Enterprise を構成します。
- 公式ドキュメントに沿って、Gemini Enterprise でカスタム MCP サーバー データストアを作成します。
- データストアの構成には、次の値を使用します。
LOOKER_INSTANCE_URLは Looker インスタンスの URL に、CLIENT_GUIDは OAuth アプリの登録時に使用した正確な文字列に置き換えます。{ "instance_uri": "LOOKER_INSTANCE_URL/mcp", "auth_uri": "LOOKER_INSTANCE_URL/auth", "auth_uri_params": "&response_type=code&code_challenge_method=S256", "token_uri": "LOOKER_INSTANCE_URL/api/token", "client_id": "CLIENT_GUID", "client_secret": "none", "scopes": "cors_api", "pkce_support_enabled": "true" }PKCE には OAuth クライアント シークレットは必要ありませんが、Gemini Enterprise では
client_secretフィールドに値が必要です。構成例に示すように、noneと入力できます。 - OAuth で認証して続行します。
- MCP サーバーの説明を設定して、Gemini がサーバーを呼び出すタイミングを把握できるようにします。次に例を示します。
Looker Agent with API access to various aspects of Looker. Primarily used to fetch data and run dashboards from Looker.
- MCP サーバー エージェントの手順を定義します。次に例を示します。
Use this server exclusively to interact with the Looker instance for monitoring health, checking status, and retrieving data. Invoke the Looker MCP server for the following request categories: - Instance Health Checks: Auditing connection status, uptime, performance metrics, or system errors. - Analytics Queries & Data Retrieval: Fetching live business metrics from Explores, Looks, or Dashboards. Strict Constraints: - No Local Estimation: Do not guess. Always fetch real-time data via MCP tools. - Fallback Behavior: Inform the user of connectivity failures immediately.
- 作成したカスタム MCP データストアの [アクション] タブに移動し、Gemini Enterprise で使用するツールを有効にします。
- Gemini Enterprise に移動し、[コネクタ] アイコンをクリックして MCP サーバーを承認し、設定を完了します。
Claude Code
- Claude Code をインストールします。
- プロジェクトのルートに
.mcp.jsonファイルが存在しない場合は作成します。 - 次の構成を追加し、
LOOKER_INSTANCE_URLを Looker インスタンスの URL に、CLIENT_GUIDを OAuth クライアント GUID に置き換えて保存します。
{
"mcpServers": {
"looker": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp",
"oauth": {
"clientId": "CLIENT_GUID",
"callbackPort": 8080
}
}
}
}
Claude Desktop
- Claude Desktop で、[Settings] に移動して [Connectors] を選択します。
- [Add custom connector] を選択し、名前(Looker など)を入力します。
- URL に、
/mcpパスを追加した Looker インスタンスの URL(https://looker.example.com/mcpなど)を入力します。 - [Advanced settings] で、
CLIENT_GUIDに使用した正確な文字列を OAuth アプリの登録 時に入力します。OAuth クライアント シークレットは空白のままにします。 - [Add] を選択してコネクタを保存します。接続を求めるプロンプトが表示されたら、Claude Desktop はブラウザを介して PKCE 認証フローを安全に開始します。
- Claude Desktop を再起動します。
Cline
- IDE で Cline 拡張機能を開き、[MCP Servers] アイコンをクリックします。
- [Configure MCP Servers] をクリックして構成ファイルを開きます。
- 次の構成を追加し、
LOOKER_INSTANCE_URLを Looker URL に置き換えて保存します。
{
"mcpServers": {
"looker": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
Cursor
- プロジェクトのルートに
.cursorディレクトリが存在しない場合は作成します。 .cursor/mcp.jsonファイルが存在しない場合は作成したうえで、それを開きます。- 次の構成を追加し、
LOOKER_INSTANCE_URLを Looker URL に置き換えて保存します。
{
"mcpServers": {
"looker": {
"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": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
Windsurf
- Windsurf を開き、Cascade アシスタントに移動します。
- MCP アイコンをクリックし、[Configure] をクリックして構成ファイルを開きます。
- 次の構成を追加し、
LOOKER_INSTANCE_URLを Looker インスタンスの URL に置き換えて保存します。
{
"mcpServers": {
"looker": {
"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 の System Activity と Cloud Audit Logs に記録されます。
System Activity
Looker マネージド MCP サーバーのアクティビティは、[履歴] と [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 割り当てに影響する可能性があります。