Serveur MCP géré par Looker

Le serveur MCP géré par Looker est une intégration intégrée qui intègre un serveur MCP (Model Context Protocol) directement dans la plate-forme Looker. Il permet aux agents IA (tels que Gemini CLI, Claude Desktop, Cursor et Copilot) de se connecter de manière sécurisée à une instance Looker et d'interagir avec les données d'entreprise et les modèles LookML.

En hébergeant le serveur, Looker vous évite de déployer et de gérer votre propre infrastructure middleware, en vous fournissant une passerelle plug-and-play, sécurisée et contrôlée vers des insights fiables sur l'entreprise.

Le serveur MCP géré par Looker est disponible en version preview pour les instances Looker (Google Cloud Core) et Looker (version initiale). Les instances hébergées par le client (sur site) ne sont pas compatibles avec cette version preview.

Si vous utilisez une instance hébergée par le client ou si vous préférez gérer votre propre infrastructure, vous pouvez vous connecter à l'aide de MCP Toolbox for Databases autonome. MCP Toolbox est un serveur MCP Open Source que vous pouvez exécuter sur votre ordinateur local ou sur votre propre serveur pour servir de passerelle entre les agents IA et votre instance Looker. Pour en savoir plus, consultez la page de documentation Utiliser Looker avec MCP, Gemini CLI et d'autres agents.

Avant de commencer

Pour utiliser le serveur MCP géré par Looker, vous devez remplir les conditions suivantes :

Exigences relatives aux instances

  • Vous devez utiliser une instance Looker (Google Cloud Core) ou Looker (version initiale).
  • L'instance doit être hébergée par Looker.

Autorisations requises

  • Pour gérer l'accès aux outils : vous devez disposer du rôle Looker Admin.
  • Pour enregistrer votre agent IA en tant que client OAuth à l'aide d'APIs Explorer , vous devez disposer du rôle Looker Admin.
  • Pour connecter un agent IA au serveur MCP géré par Looker : vous avez besoin de vos identifiants de connexion Looker standards pour vous authentifier lors du processus de connexion OAuth. L'agent IA doit d'abord être enregistré en tant que client OAuth par un administrateur Looker. Une fois connecté, l'agent IA hérite des rôles et de l'accès Looker de l'utilisateur qui s'est authentifié.

Configurer le serveur MCP géré

Configurez l'accès aux outils pour configurer le serveur MCP géré.

Configurer les paramètres des outils

Par défaut, tous les outils sont désactivés pour le serveur MCP géré. Les administrateurs Looker doivent activer explicitement les outils que les agents IA sont autorisés à utiliser. Pour savoir comment activer les outils, consultez la page de documentation **Paramètres d'administration – Model Context Protocol (MCP)**.

Configurer les paramètres CORS

Si le client MCP s'exécute directement dans un navigateur Web et souhaite communiquer avec le serveur MCP géré par Looker à l'aide de CORS, l'administrateur Looker doit ajouter le domaine du site Web de ce client à la liste d'autorisation des domaines intégrés dans le panneau Admin.

Enregistrer un agent IA via OAuth

Lors du lancement de la version preview, les administrateurs Looker doivent enregistrer manuellement un agent IA afin de le connecter au serveur MCP géré.

  1. Ouvrez l'APIs Explorer de Looker.

    • Si l'APIs Explorer est déjà installé dans votre instance Looker, vous pouvez y accéder avec le format d'URL suivant :

      LOOKER_INSTANCE_URL/extensions/marketplace_extension_api_explorer::api-explorer/
      
    • Si l'APIs Explorer n'est pas installé dans votre instance Looker, vous pouvez l'installer à partir du Marketplace Looker. Pour en savoir plus, consultez la page Utiliser l'APIs Explorer.

    • Si vous utilisez une instance de connexions privées Looker (Google Cloud Core) qui utilise l'accès aux services privés, le Marketplace Looker et l'APIs Explorer ne sont pas compatibles. Pour enregistrer un agent IA, vous devez appeler directement le point de terminaison de l'API oauth_client_apps. Si vous utilisez cette méthode, vous pouvez ignorer la procédure suivante de l'APIs Explorer et passer directement à la section Configurer un client MCP.

      Développez cette section pour voir un exemple de commande curl que vous pouvez utiliser avec le point de terminaison oauth_client_apps pour enregistrer l'agent.

      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. Sous la méthode Auth, recherchez le point de terminaison de l'API Register OAuth App. Vous pouvez également rechercher "oauth app" dans le champ Search.

  3. Sur la page Register OAuth App, cliquez sur le bouton Run It.

  4. Dans l'onglet Request de la boîte de dialogue Run It, saisissez les informations suivantes dans les champs correspondants :

    • Pour le champ CLIENT_GUID, procédez comme suit :

      • Si l'agent prescrit un ID client spécifique, utilisez-le.
      • Si l'agent ne prescrit pas d'ID client spécifique, utilisez n'importe quel ID unique au niveau mondial.
      • Préparez-vous à distribuer l'ID à tous les développeurs LookML qui souhaitent utiliser l'agent.
    • Pour redirect_uri, l'URI varie en fonction de l'application de l'agent IA. Vous pouvez vous reporter à la documentation d'authentification OAuth de votre agent pour connaître son URL de redirection spécifique. Le format peut ressembler à l'un des exemples suivants :

      Gemini CLI

      http://localhost:7777/oauth/callback
      

      Gemini Code Assist

      http://localhost:7777/oauth/callback
      

      Nous vous recommandons d'utiliser Gemini CLI avec Gemini Code Assist. Dans ce cas, ils partagent le même serveur de rappel local et la même configuration de port.

      Gemini Enterprise

      https://vertexaisearch.cloud.google.com/oauth-redirect
      

      Claude Code

      Claude Code utilise un port disponible aléatoire pour le rappel OAuth, mais vous devez le corriger à l'aide de l'indicateur --callback-port 8080 (ou avec le paramètre callbackPort dans mcp.json) pour qu'il corresponde à votre URI enregistré.

      http://localhost:8080/callback
      

      VS Code et autres IDE

      Pour les IDE, l'URI de redirection peut ressembler à ceci, personnalisé pour votre IDE.

      vscode://google.vscode-looker-official/oauth_callback
      

      Applications hébergées dans le cloud

      Pour les applications hébergées dans le cloud, il peut s'agir d'une URL HTTPS sécurisée :

      https://AI_AGENT_URL/oauth2callback
      

      Applications locales

      Pour les applications exécutées localement, il doit s'agir d'une URL localhost avec un port statique :

      http://localhost:7777/oauth/callback
      
    • Renseignez les champs display_name et description comme décrit dans la documentation Enregistrer une application cliente OAuth.

  5. Cochez la case I understand that this API endpoint will change data (Je comprends que ce point de terminaison de l'API modifiera les données).

  6. Cliquez sur Run (Exécuter).

  7. Vous pouvez vérifier que vous avez correctement configuré l'authentification à l'aide de la méthode Get OAuth Client App dans l'APIs Explorer en procédant comme suit :

    • Dans le champ Search (Rechercher) de l'APIs Explorer, saisissez Get OAuth Client App.
    • Cliquez sur Run It.
    • Dans le champ CLIENT_GUID, saisissez la valeur que vous avez utilisée lors de l'enregistrement OAuth :

      CLIENT_GUID
      

    Si vous avez configuré OAuth correctement, l'onglet Response (Réponse) renvoie les valeurs que vous avez saisies lors de l'enregistrement de l'application.

  8. (Facultatif) Vous pouvez activer l'utilisateur de l'application OAuth à l'avance à l'aide de la méthode Activate App User dans l'APIs Explorer en procédant comme suit :

    • Dans le champ Search (Rechercher) de l'APIs Explorer, saisissez Activate App User.
    • Cliquez sur Run It.
    • Dans le champ CLIENT_GUID, saisissez la valeur que vous avez utilisée lors de l'enregistrement de l'application OAuth :

      CLIENT_GUID
      
    • Dans le champ user_id, saisissez l'ID utilisateur Looker de l'utilisateur.

    • Cliquez sur Run (Exécuter).

Configurer le client MCP

Une fois l'agent IA enregistré, vous pouvez le connecter au point de terminaison MCP géré en tant que client MCP. Reportez-vous à la documentation de votre agent pour terminer la configuration du client.

  • URL du serveur : LOOKER_INSTANCE_URL/mcp
  • Authentification : OAuth 2.1

Exemples de configurations (mcp.json)

Cette section explique comment configurer différents outils de développement pour vous connecter à votre instance Looker à l'aide du serveur MCP géré par Looker. Le serveur MCP se situe entre votre IDE et Looker, fournissant un plan de contrôle sécurisé et efficace pour vos outils d'IA. Sélectionnez l'onglet correspondant à votre outil spécifique pour afficher les instructions de configuration.

Gemini CLI

Configurez Gemini CLI pour qu'elle se connecte directement au serveur MCP géré par Looker.

  1. Installez le Gemini CLI.
  2. Ajoutez le serveur MCP distant à l'aide de la commande suivante, en remplaçant LOOKER_INSTANCE_URL par l'URL de votre instance Looker :
    gemini mcp add --transport http looker LOOKER_INSTANCE_URL/mcp
    

    Vous pouvez également configurer cela manuellement en ajoutant la configuration suivante à votre settings.json fichier (situé dans ~/.gemini/settings.json ou dans le répertoire de votre projet) :

    {
      "mcpServers": {
        "looker": {
          "httpUrl": "LOOKER_INSTANCE_URL/mcp",
          "oauth": {
            "clientId": "CLIENT_GUID"
          }
        }
      }
    }
    
  3. Démarrez Gemini CLI en mode interactif :
    gemini
    
    Lorsque vous êtes invité à vous connecter, la CLI lance le flux d'autorisation OAuth pour s'authentifier de manière sécurisée auprès de votre instance Looker.

Gemini Code Assist

Nous vous recommandons de configurer Gemini Code Assist pour qu'il utilise Gemini CLI. Cette approche évite d'avoir à configurer manuellement un serveur MCP.

  1. Assurez-vous d'avoir installé et configuré le Gemini CLI et le serveur MCP géré par Looker.
  2. Configurez Gemini Code Assist pour qu'il utilise Gemini CLI.
  3. Commencez à interagir avec votre instance Looker en utilisant le langage naturel directement dans le chat Gemini Code Assist.

Gemini Enterprise

Configurez Gemini Enterprise pour qu'il se connecte au serveur MCP géré par Looker en tant que datastore de serveur MCP personnalisé.

  1. Suivez la documentation officielle pour créer un datastore de serveur MCP personnalisé dans Gemini Enterprise.
  2. Pour la configuration du datastore, utilisez les valeurs suivantes, en remplaçant LOOKER_INSTANCE_URL par l'URL de votre instance Looker et CLIENT_GUID par la chaîne exacte que vous avez utilisée lors de l'enregistrement de votre application 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 ne nécessite pas de code secret du client OAuth, mais Gemini Enterprise requiert une valeur dans le champ client_secret. Vous pouvez saisir none, comme illustré dans l'exemple de configuration.

  3. Authentifiez-vous via OAuth pour continuer.
  4. Définissez la description du serveur MCP pour aider Gemini à comprendre quand l'appeler. Exemple :
    Looker Agent with API access to various aspects of Looker. Primarily used to fetch data and run dashboards from Looker.
    
  5. Définissez les instructions de l'agent du serveur MCP. Exemple :
    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. Accédez à l'onglet Actions dans le datastore MCP personnalisé que vous venez de créer et activez les outils que vous souhaitez que Gemini Enterprise utilise.
  7. Finalisez la configuration en accédant à Gemini Enterprise, en cliquant sur l'icône Connector (Connecteur) et en autorisant le serveur MCP.

Claude Code

  1. Installez Claude Code.
  2. Créez le fichier .mcp.json à la racine de votre projet, s'il n'existe pas.
  3. Ajoutez la configuration suivante, en remplaçant LOOKER_INSTANCE_URL par l'URL de votre instance Looker et CLIENT_GUID par le GUID de votre client OAuth, puis enregistrez.

      {
        "mcpServers": {
          "looker": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp",
            "oauth": {
              "clientId": "CLIENT_GUID",
              "callbackPort": 8080
            }
          }
        }
      }
  

Claude Desktop

  1. Dans Claude Desktop, accédez à Settings (Paramètres), puis sélectionnez Connectors (Connecteurs).
  2. Choisissez Add custom connector (Ajouter un connecteur personnalisé) et saisissez un nom (par exemple, Looker).
  3. Pour l'URL, saisissez l'URL de votre instance Looker en ajoutant le chemin d'accès /mcp (par exemple, https://looker.example.com/mcp).
  4. Sous Advanced settings (Paramètres avancés), saisissez la chaîne exacte que vous avez utilisée pour CLIENT_GUID lors de votre OAuth app registration (enregistrement d’application OAuth). Laissez le code secret du client OAuth vide.
  5. Sélectionnez Add (Ajouter) pour enregistrer le connecteur. Lorsque vous êtes invité à vous connecter, Claude Desktop lance de manière sécurisée le flux d'autorisation PKCE via votre navigateur.
  1. Redémarrez Claude Desktop.

Cline

  1. Ouvrez l'extension Cline dans votre IDE et cliquez sur l'icône MCP Servers (Serveurs MCP).
  2. Cliquez sur Configure MCP Servers (Configurer les serveurs MCP) pour ouvrir le fichier de configuration.
  3. Ajoutez la configuration suivante, en remplaçant LOOKER_INSTANCE_URL par votre URL Looker, puis enregistrez.

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

Un état actif vert s'affiche une fois le serveur connecté.

Cursor

  1. Créez le répertoire .cursor à la racine de votre projet, s'il n'existe pas.
  2. Créez le fichier .cursor/mcp.json s'il n'existe pas, puis ouvrez-le.
  3. Ajoutez la configuration suivante, en remplaçant LOOKER_INSTANCE_URL par votre URL Looker, puis enregistrez.
      {
        "mcpServers": {
          "looker": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  
  1. Ouvrez Cursor, puis accédez à Settings > Cursor Settings > MCP (Paramètres > Paramètres du curseur > MCP). Un état actif vert s'affiche lorsque le serveur se connecte.

Visual Studio Code (Copilot)

  1. Ouvrez VS Code et créez le répertoire .vscode à la racine de votre projet, s'il n'existe pas.
  2. Créez le fichier .vscode/mcp.json s'il n'existe pas, puis ouvrez-le.
  3. Ajoutez la configuration suivante, en remplaçant LOOKER_INSTANCE_URL par l'URL de votre instance Looker, puis enregistrez.
      {
        "servers": {
          "looker": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Windsurf

  1. Ouvrez Windsurf et accédez à l'assistant Cascade.
  2. Cliquez sur l'icône MCP, puis sur Configure (Configurer) pour ouvrir le fichier de configuration.
  3. Ajoutez la configuration suivante, en remplaçant LOOKER_INSTANCE_URL par l'URL de votre instance Looker, puis enregistrez.
      {
        "mcpServers": {
          "looker": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

S'authentifier auprès du client

Une fois que vous avez configuré votre client MCP avec les paramètres mcp.json, la première fois que vous tentez d'interagir avec Looker via ce client, il lance le flux d'authentification OAuth 2.1. En règle générale, le client ouvre une fenêtre de navigateur dans laquelle vous devez vous connecter à votre instance Looker à l'aide de vos identifiants standards et accorder à l'application l'autorisation d'accéder à Looker en votre nom.

Ce processus de connexion est l'étape d'authentification interactive qui permet au client MCP d'obtenir un jeton d'accès pour effectuer des requêtes ultérieures.

Pour en savoir plus, consultez la documentation de votre client.

Une fois connecté, le client hérite de vos rôles Looker et de votre accès au contenu. Le client aura également accès aux outils d'IA que votre administrateur Looker a activés pour le serveur MCP. Pour obtenir la liste de tous les outils possibles, consultez la documentation Utiliser des outils d'IA.

Sécurité et gouvernance

Le serveur MCP géré est conçu pour hériter du framework de sécurité et de gouvernance existant de Looker.

  • Limite des autorisations : le serveur applique des autorisations strictes au niveau de l'utilisateur. Un agent IA ne peut pas accéder aux données ni aux modèles que l'utilisateur authentifié n'est pas autorisé à consulter.
  • VPC Service Controls : pour les instances Looker (Google Cloud Core) qui utilisent VPC Service Controls, le point de terminaison MCP géré respecte les limites VPC Service Controls existantes sans nécessiter de règles ni de configurations supplémentaires.
  • Clés de chiffrement gérées par le client (CMEK) : pour les instances Looker (Google Cloud Core) qui utilisent CMEK, le serveur MCP géré est conforme à CMEK sans nécessiter de règles ni de configurations supplémentaires.

Journaux d'audit

Chaque action effectuée par un agent IA est enregistrée dans Looker Activité du système et Journaux d'audit Cloud.

Activité du système

L'activité du serveur MCP géré par Looker est suivie dans les explorations History (Historique) et Event Attribute (Attribut d'événement). La page de documentation Surveiller l'utilisation de Looker avec les explorations de l'activité du système fournit les exemples de requêtes suivants :

Cloud Audit Logs

Les instances Looker (Google Cloud Core) suivent également l'activité du serveur MCP géré par Looker via Cloud Audit Logs. La page de documentation Journaux d'audit Looker (Google Cloud Core) fournit des exemples de requêtes.

Limites

  • Champs d'application précis : les champs d'application OAuth ne sont pas encore compatibles avec le serveur MCP géré. Le contrôle des accès repose sur la liste d'autorisation globale des outils et sur les autorisations de base de l'utilisateur.
  • Enregistrement dynamique : l'enregistrement dynamique des clients n'est pas compatible avec la version preview.
  • Actualisation du client : les modifications apportées à la liste d'autorisation des outils ne sont pas automatiquement envoyées aux clients connectés. Les utilisateurs doivent attendre 30 secondes après avoir modifié la liste des outils, puis reconnecter leur client pour actualiser le manifeste des outils. Pour savoir comment vous reconnecter au serveur MCP, consultez la documentation de votre client.
  • Capacité du serveur : pendant la phase de preview, le serveur MCP géré est configuré avec une capacité fixe pour nous aider à collecter des données sur les performances. Pendant les périodes de forte utilisation, des délais d'attente peuvent survenir. Ce comportement est normal.
  • Listes d'autorisation d'adresses IP : le serveur MCP géré par Looker n'est pas compatible avec les listes d'autorisation d'adresses IP dans Looker (version initiale). Il est compatible avec les listes d'autorisation d'adresses IP dans Looker (Google Cloud Core).

Tarifs et quotas

Le serveur MCP géré par Looker est disponible sans frais supplémentaires. Toutefois, les appels d'outils effectués par les agents IA consomment les quotas d'API standards administratifs et basés sur les requêtes de l'instance. Une activité élevée des agents peut avoir un impact sur votre quota d'API disponible.