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 によってホストされている必要があります。

必要な権限

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

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

ツールの設定を構成する

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

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

プレビュー リリースでは、Looker 管理者は、エージェントをマネージド MCP サーバーに接続するために、AI エージェントを手動で登録する必要があります。

  1. 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_apps API エンドポイントを直接呼び出す必要があります。この方法を使用する場合は、次の 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
      }'
      
  2. [認証] メソッドで、[OAuth アプリを登録] API エンドポイントを見つけます。[検索] フィールドで「oauth app」を検索することもできます。

  3. [OAuth アプリを登録] ページで、[実行] ボタンをクリックします。

  4. [実行] ダイアログの [リクエスト] タブで、対応するフィールドに次の情報を入力します。

    • 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 8080 フラグ(または callbackPort 設定を mcp.json で)を使用して修正する必要があります。

      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
      
    • display_namedescriptionOAuth クライアント アプリケーションの登録のドキュメントの説明に沿って入力します。

  5. [この API エンドポイントがデータを変更することを理解しています] チェックボックスをオンにします。

  6. [実行] をクリックします。

  7. 次の手順に沿って、API Explorer の Get OAuth Client App メソッドを使用して、認証が正常に設定されたことを確認できます。

    • API Explorer の [検索] フィールドに、「OAuth Client アプリを取得 」と入力します。
    • [実行] をクリックします。
    • [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 を構成します。

  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"
        }
      }
    }
    
  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 インスタンスとのやり取りを開始します。

Claude Code

  1. Claude Code をインストールします。
  2. プロジェクトのルートに .mcp.json ファイルが存在しない場合は作成します。
  3. 次の構成を追加し、PROXY_URL をリバース プロキシ サーバーのドメインに置き換えて保存します。

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

Claude Desktop

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

Cline

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

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

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

Cursor

  1. プロジェクトのルートに .cursor ディレクトリが存在しない場合は作成します。
  2. .cursor/mcp.json ファイルが存在しない場合は作成したうえで、それを開きます。
  3. 次の構成を追加し、LOOKER_INSTANCE_URL を Looker URL に置き換えて保存します。
      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  
  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-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Windsurf

  1. Windsurf を開き、Cascade アシスタントに移動します。
  2. MCP アイコンをクリックし、[Configure] をクリックして構成ファイルを開きます。
  3. 次の構成を追加し、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 に記録されます。

システム アクティビティ

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

Cloud Audit Logs

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

制限事項

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

料金と割り当て

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