Looker が管理する MCP サーバー

Looker が管理する MCP サーバーは、Model Context Protocol(MCP)サーバーを Looker プラットフォームに直接埋め込む組み込みのインテグレーションです。これにより、Gemini CLI、Claude Desktop、Cursor、Copilot などの AI エージェントが Looker インスタンスに安全に接続し、ビジネスデータや LookML モデルを操作できるようになります。

Looker がサーバーをホストすることで、お客様が独自のミドルウェア インフラストラクチャをデプロイして維持する必要がなくなります。これにより、信頼できるビジネス分析情報へのプラグアンドプレイ、安全、統制されたゲートウェイが提供されます。

お客様がセルフホスト型インスタンスを使用している場合や、独自のインフラストラクチャを管理する場合は、スタンドアロンのデータベース向け MCP ツールボックスを使用して接続できます。MCP ツールボックスは、ローカル コンピュータまたは独自のサーバーで実行できるオープンソースの MCP サーバーで、AI エージェントと Looker インスタンスの間のブリッジとして機能します。詳細については、MCP、Gemini CLI、その他のエージェントで Looker を使用するのドキュメント ページをご覧ください。

始める前に

Looker 管理の MCP サーバーを使用するには、次の要件を満たす必要があります。

インスタンスの要件

  • Looker(Google Cloud コア)インスタンスまたは Looker(オリジナル)インスタンスを使用している必要があります。
  • インスタンスは Looker でホストされている必要があります。

必要な権限

マネージド MCP サーバーを設定する

マネージド MCP サーバーを設定するには、ツールアクセスを構成します。

ツール設定を構成する

デフォルトでは、マネージド MCP サーバーのすべてのツールが無効になっています。Looker 管理者は、AI エージェントが使用できるツールを明示的に有効にする必要があります。ツールを有効にする手順については、管理者の設定 - Model Context Protocol(MCP)に関するドキュメント ページをご覧ください。

CORS 設定を構成する

MCP クライアントがウェブブラウザで直接実行され、CORS を使用して Looker 管理の MCP サーバーと通信する場合は、Looker 管理者が [管理パネル] パネルの [埋め込みドメインの許可リスト] にそのクライアント ウェブサイトのドメインを追加する必要があります。

OAuth を使用して AI エージェントを登録する

AI エージェントを Looker 管理の MCP サーバーに接続するには、管理者が Looker の [管理パネル] の [OAuth クライアントの管理] ページで、AI エージェントを OAuth クライアント アプリケーションとして有効にするか、登録する必要があります。

事前構成済みの AI クライアントをアプリケーション ライブラリから有効にするか、[カスタム クライアント] タブでカスタム クライアントを登録できます。

  • アプリケーション ライブラリ(推奨): Cursor、VS Code、Claude Code、Claude Desktop、ChatGPT、Gemini CLI、Cline、Windsurf、Antigravity、VS Code 用 Looker 拡張機能などの一般的な AI エージェントやデベロッパー ツール向けに、事前構成された Looker 管理の OAuth クライアント登録を使用します。
  • カスタム クライアント: AI ツールがアプリケーション ライブラリにない場合や、カスタム リダイレクト URI またはポートを構成する必要がある場合は、新しいカスタム OAuth クライアントを登録します。

オプション 1: アプリケーション ライブラリから事前構成済みの AI エージェントを有効にする

まず、[Application Library] タブを確認することをおすすめします。

事前構成済みの AI エージェント クライアントを有効にする手順は次のとおりです。

  1. Looker の [管理パネル] で、[認証] セクションに移動し、[OAuth クライアントを管理] を選択します。
  2. [アプリケーション ライブラリ] タブを選択します。
  3. AI エージェントのクライアント アプリケーション(Cursor、Claude Code、Cline、Gemini CLI など)を見つけます。検索バーを使用して名前でフィルタできます。
  4. [有効にする] スイッチを [オン] にします。
  5. クライアントの行に表示されているクライアント ID をコピーします。このクライアント ID は、AI エージェントの MCP 設定(mcp.json や起動フラグなど)を構成するときに指定します。Looker 管理者ロールを持たない Looker ユーザーがこのクライアントを使用する必要がある場合は、クライアント ID を配布します。

リダイレクト URI と動的ポートの処理

Looker では、OAuth リダイレクト URI が登録済みの値と完全に一致する必要があります。ワイルドカード リダイレクト URI はサポートされていません。一部の AI ツール(Claude Code や Cline など)は、OAuth コールバックを開始するときに、デフォルトで動的またはエフェメラルなローカルポートを使用します。これらのツールに対応するため、Looker は各ライブラリ クライアントに固定のデフォルト ポートを事前に登録します(例: Claude Code と Cline の場合はポート 8080、Gemini CLI の場合はポート 7777)。

動的ポートで事前構成済みのライブラリ クライアントを使用するには、次のいずれかのオプションを選択します。

  • 事前登録済みの静的ポートを使用するようにクライアントを構成する: ツールの設定または起動コマンドで、事前登録済みのポートを指定します。たとえば、次のような情報が得られます。
    • Claude Code: --callback-port 8080 フラグを指定して Claude Code を実行します(または mcp.json で "callbackPort": 8080 を構成します)。
    • Cline: OAuth コールバック ポートを 8080 に構成します。
    • Gemini CLI: 環境変数 export OAUTH_CALLBACK_PORT=7777 を設定します。
    • VS Code: 事前登録済みの静的 URI http://127.0.0.1:33418/ を使用します。
  • カスタム クライアントを登録する: 別のポートまたはカスタム コールバック URL を使用する必要がある場合は、次のセクションで説明するように、優先するリダイレクト URI を使用してカスタム クライアントを登録します。

オプション 2: カスタム AI エージェント クライアントを登録する

AI エージェントがアプリケーション ライブラリに含まれていない場合や、カスタム コールバック URL またはポートを使用する必要がある場合は、管理者設定 - OAuth クライアントを管理するの手順に沿ってカスタム クライアントを登録します。クライアントを追加したら、MCP クライアントの構成時に使用するクライアント ID をコピーします。

プログラムによる登録(API Explorer または API)

自動デプロイ(CI / CD パイプラインやプロビジョニング スクリプトなど)の場合、Looker 管理者は OAuth クライアントをプログラムで登録できます。

このセクションを開くと、API または API Explorer を使用して OAuth クライアントを登録する方法が表示されます。

AI エージェントを登録するには、curl で oauth_client_apps API エンドポイントを直接使用します。

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
}'

または、Looker API Explorer を使用することもできます。

  1. [認証] メソッドで、[OAuth アプリを登録] API エンドポイントを見つけます。
  2. [Run It] をクリックし、CLIENT_GUID、redirect_uri、display_name、description を入力して、確認チェックボックスをオンにしてから、[Run] をクリックします。
    • Gemini CLI
      http://localhost:7777/oauth/callback
      

      注: Gemini CLI などの一部のツールでは、登録済みのリダイレクト URI と一致する静的ポートをツールが使用するように、環境変数(export OAUTH_CALLBACK_PORT=7777 など)を設定する必要があります。

    • Gemini Code Assist
      http://localhost:7777/oauth/callback
      

      Gemini CLI と Gemini Code Assist を組み合わせて使用することをおすすめします。この場合、同じローカル コールバック サーバーとポート構成が共有されます。

    • Gemini Enterprise
      https://vertexaisearch.cloud.google.com/oauth-redirect
      
    • Claude Code

      Claude Code は OAuth コールバックにランダムな使用可能なポートを使用しますが、登録済みの URI と一致するように --callback-port 8080 フラグ(または mcp.json の callbackPort 設定)を使用して修正する必要があります。

      http://localhost:8080/callback
      
    • VS Code

      VS Code の場合は、次の URI を使用します。

      http://127.0.0.1:33418/
      

      注: URI の末尾にトレイリング スラッシュ(/)が必要です。

    • クラウドでホストされているアプリ

      クラウドホスト型アプリケーションの場合、安全な HTTPS URL のようになります。

      https://AI_AGENT_URL/oauth2callback
      
    • ローカルアプリ

      ローカルで実行されているアプリケーションの場合、リダイレクト URI は静的ポートを持つ localhost URL である必要があります。

      http://localhost:7777/oauth/callback
      
  3. 登録を確認するには、CLIENT_GUID を指定して Get OAuth Client App エンドポイントを実行します。

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 を構成します。

  1. Gemini CLI をインストールします。
  2. 次のコマンドを使用して、リモート 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"
          }
        }
      }
    }
    
  3. インタラクティブ モードで Gemini CLI を起動します。
    gemini
    
    接続を求められると、CLI は OAuth 認可フローを開始して、Looker インスタンスで安全に認証します。

Gemini Code Assist

Gemini CLI を使用するように Gemini Code Assist を構成することをおすすめします。この方法では、MCP サーバーを手動で構成する必要がなくなります。

  1. Gemini CLI と Looker 管理の MCP サーバーがインストールされ、構成されていることを確認します。
  2. Gemini CLI を使用するように Gemini Code Assist を構成します。
  3. Gemini Code Assist チャット内で自然言語を使用して Looker インスタンスとのやり取りを開始します。

Gemini Enterprise

Looker が管理する MCP サーバーにカスタム MCP サーバー データストアとして接続するように Gemini Enterprise を構成する。

  1. 公式ドキュメントに沿って、Gemini Enterprise でカスタム MCP サーバー データストアを作成します。
  2. データストアの構成には、次の値を使用します。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 を入力できます。

  3. 続行するには、OAuth で認証してください。
  4. Gemini がサーバーを呼び出すタイミングを理解できるように、MCP サーバーの説明を設定します。次に例を示します。
    Looker Agent with API access to various aspects of Looker. Primarily used to fetch data and run dashboards from Looker.
    
  5. 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.
    
  6. 作成したカスタム MCP データストアの [アクション] タブに移動し、Gemini Enterprise で使用するツールを有効にします。
  7. Gemini Enterprise に移動し、[コネクタ] アイコンをクリックして MCP サーバーを承認し、設定を完了します。

Claude Code

  1. Claude Code をインストールします。
  2. プロジェクトのルートに .mcp.json ファイルが存在しない場合は作成します。
  3. 次の構成を追加し、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

  1. Claude デスクトップで [設定] に移動し、[コネクタ] を選択します。
  2. [カスタム コネクタを追加] を選択し、名前(Looker など)を入力します。
  3. URL には、/mcp パスが追加された Looker インスタンスの URL を入力します(例: https://looker.example.com/mcp)。
  4. [詳細設定] で、OAuth アプリの登録時に CLIENT_GUID に使用した文字列を正確に入力します。OAuth クライアント シークレットは空白のままにします。
  5. [追加] を選択してコネクタを保存します。接続を求められると、Claude デスクトップはブラウザを介して PKCE 認可フローを安全に開始します。
  1. Claude Desktop を再起動します。

Cline

  1. IDE で Cline 拡張機能を開き、[MCP サーバー] アイコンをクリックします。
  2. [Configure MCP Servers] をクリックして構成ファイルを開きます。
  3. 次の構成を追加し、LOOKER_INSTANCE_URL を Looker URL に置き換えて保存します。

      {
        "mcpServers": {
          "looker": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

サーバーが正常に接続されると、緑色のアクティブ ステータスが表示されます。

Cursor

  1. プロジェクトのルートに .cursor ディレクトリが存在しない場合は作成します。
  2. .cursor/mcp.json ファイルが存在しない場合は作成したうえで、それを開きます。
  3. 次の構成を追加し、LOOKER_INSTANCE_URL を Looker URL に置き換えて保存します。
      {
        "mcpServers": {
          "looker": {
            "url": "LOOKER_INSTANCE_URL/mcp",
            auth: {
              "CLIENT_ID": "CLIENT_GUID"
            }
          }
        }
      }
  
  1. Cursor を開き、[Settings] > [Cursor Settings] > [MCP] に移動します。サーバーが接続されると、緑色のアクティブ ステータスが表示されます。

Visual Studio Code(Copilot)

  1. VS Code を開き、プロジェクトのルートに .vscode ディレクトリが存在しない場合は作成します。
  2. .vscode/mcp.json ファイルが存在しない場合は作成したうえで、それを開きます。
  3. 次の構成を追加し、LOOKER_INSTANCE_URL を Looker インスタンスの URL に置き換えて保存します。
      {
        "servers": {
          "looker": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Windsurf

  1. Windsurf を開き、Cascade アシスタントに移動します。
  2. MCP アイコンをクリックし、[Configure] をクリックして構成ファイルを開きます。
  3. 次の構成を追加し、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 に準拠しており、追加のポリシーや構成は必要ありません。
  • IP 許可リスト: Looker(Google Cloud コア)または Looker(オリジナル)で IP 許可リストを使用するインスタンスの場合、マネージド MCP エンドポイントは、追加の構成を必要とせずに、既存の IP 許可リストルールを遵守します。

監査ロギング

AI エージェントが実行したすべてのアクションは、Looker のシステム アクティビティと Cloud Audit Logs に記録されます。

System Activity

Looker が管理する MCP サーバーのアクティビティは、[履歴] と [イベント属性] の Explore で追跡されます。システム アクティビティ Explore を使用した Looker の使用状況のモニタリングのドキュメント ページには、次のサンプルクエリが記載されています。

Cloud Audit Logs

Looker(Google Cloud コア)インスタンスは、Cloud Audit Logs を介して Looker 管理の MCP サーバーのアクティビティも追跡します。Looker(Google Cloud コア)監査ロギングのドキュメント ページにサンプルクエリが記載されています。

制限事項

  • きめ細かいスコープ: マネージド MCP サーバーでは、OAuth スコープはまだサポートされていません。アクセス制御は、グローバル ツール許可リストとユーザーの基本権限に依存します。
  • 動的登録: 動的クライアント登録は、プレビュー版ではサポートされていません。
  • クライアントの更新: ツールの許可リストへの変更は、接続されているクライアントに自動的に push されません。ツールリストに変更を加えた後、30 秒待ってからクライアントを再接続してツール マニフェストを更新する必要があります。MCP サーバーに再接続する方法については、クライアントのドキュメントをご覧ください。
  • サーバー容量: プレビュー フェーズでは、パフォーマンス データを収集できるように、マネージド MCP サーバーは固定容量で構成されています。使用率がピークに達すると、タイムアウトが発生することがあります。これは想定された動作です。

料金と割り当て

Looker が管理する MCP サーバーは追加料金なしで利用できます。ただし、AI エージェントによるツール呼び出しは、インスタンスの標準の管理 API 割り当てとクエリベースの API 割り当てを消費します。エージェントのアクティビティが多いと、利用可能な API 割り当てに影響する可能性があります。