Serveur MCP géré par Looker

Le serveur MCP géré par Looker est une intégration intégrée qui permet d'intégrer un serveur MCP (Model Context Protocol) directement dans la plate-forme Looker. Il permet aux agents d'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. Il vous fournit ainsi une passerelle plug-and-play, sécurisée et contrôlée vers des insights commerciaux fiables.

Le serveur MCP géré par Looker est disponible en 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 cet aperçu.

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 d'IA et votre instance Looker. Pour en savoir plus, consultez la page de documentation Utiliser Looker avec MCP, la CLI Gemini 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 Administrateur.
  • Pour enregistrer votre agent d'IA en tant que client OAuth à l'aide de l'explorateur d'API, vous devez disposer du rôle Looker Administrateur.
  • Pour connecter un agent d'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 d'IA doit d'abord être enregistré en tant que client OAuth par un administrateur Looker. Une fois connecté, l'agent d'IA hérite des rôles et de l'accès Looker de l'utilisateur authentifié.

Configurer le serveur MCP géré

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

Configurer les paramètres de l'outil

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).

Enregistrer un agent d'IA via OAuth

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

  1. Ouvrez l'explorateur d'API Looker.

    • Si l'explorateur d'API est déjà installé sur votre instance Looker, vous pouvez y accéder avec ce format d'URL :

      https://LOOKER_INSTANCE_URL/extensions/marketplace_extension_api_explorer::api-explorer/
      
    • Si votre instance Looker ne dispose pas de l'explorateur d'API, vous pouvez l'installer depuis Marketplace Looker. Pour en savoir plus, consultez la page Utiliser l'API Explorer.

    • Si vous utilisez une instance Looker (Google Cloud Core) avec accès aux services privés, le Marketplace Looker et l'API Explorer ne sont pas compatibles. Pour enregistrer un agent d'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'explorateur d'API 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 (Authentification), recherchez le point de terminaison de l'API Register OAuth App (Enregistrer l'application OAuth). Vous pouvez également rechercher "application OAuth" dans le champ Rechercher.

  3. Sur la page Register OAuth App (Enregistrer l'application OAuth), cliquez sur le bouton Run It (Exécuter).

  4. Dans l'onglet Request (Requête) de la boîte de dialogue Run It (Exécuter), 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 un 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 d'agent d'IA. Vous pouvez consulter la documentation sur l'authentification OAuth de votre agent pour obtenir son URL de redirection spécifique. Le format peut ressembler à l'un des exemples suivants :

      CLI Gemini

      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.

      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 du 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 se présenter comme suit, 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 display_name et description comme décrit dans la documentation Enregistrer une application cliente OAuth.

  5. Cochez la case Je comprends que ce point de terminaison de l'API modifiera les données.

  6. Cliquez sur Exécuter.

  7. Pour vérifier que vous avez bien configuré l'authentification, utilisez la méthode Get OAuth Client App dans l'explorateur d'API en procédant comme suit :

    • Dans le champ Rechercher de l'API Explorer, saisissez Get OAuth Client App.
    • Cliquez sur Run It (Exécuter).
    • 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 Réponse renverra les valeurs que vous avez saisies lors de l'enregistrement de l'application.

Configurer le client MCP

Une fois l'agent d'IA enregistré, vous pouvez le connecter au point de terminaison MCP géré en tant que client MCP. Consultez 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 pour les développeurs afin de se connecter à votre instance Looker à l'aide du serveur MCP géré par Looker. Le serveur MCP se situe entre votre IDE et Looker. Il fournit un plan de contrôle sécurisé et efficace pour vos outils d'IA. Sélectionnez l'onglet correspondant à votre outil pour afficher les instructions de configuration.

CLI Gemini

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

  1. Installez la 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 manuellement cette option en ajoutant la configuration suivante à votre fichier settings.json (situé dans ~/.gemini/settings.json ou dans le répertoire de votre projet) :

    {
      "mcpServers": {
        "looker": {
          "httpUrl": "LOOKER_INSTANCE_URL/mcp"
        }
      }
    }
    
  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 utiliser la CLI Gemini. Cette approche élimine la nécessité de configurer manuellement un serveur MCP.

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

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 PROXY_URL par le domaine de votre serveur proxy inverse, puis enregistrez.

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

Claude sur ordinateur

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

Cline

  1. Ouvrez l'extension Cline dans votre IDE, puis cliquez sur l'icône Serveurs MCP.
  2. Cliquez sur 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-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

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

Cursor

  1. Créez le répertoire .cursor dans 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-toolbox": {
            "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 dans 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-toolbox": {
            "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 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-toolbox": {
            "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 tenterez d'interagir avec Looker via ce client, il lancera le flux d'authentification OAuth 2.1. Cela implique généralement que 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 les futures requêtes.

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

Une fois connecté, le client héritera 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 les 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 d'autorisations : le serveur applique des autorisations strictes au niveau de l'utilisateur. Un agent d'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 des CMEK, le serveur MCP géré est conforme aux CMEK sans nécessiter de configurations ni de règles supplémentaires.

Journaux d'audit

Chaque action effectuée par un agent d'IA est consignée dans l'activité du système et dans les journaux d'audit Cloud de Looker.

Activité du système

L'activité du serveur MCP géré par Looker est suivie dans les Explorations Historique et 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 Journalisation 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 pris en charge dans l'aperçu.
  • Actualisation du client : les modifications apportées à la liste d'autorisation des outils ne sont pas automatiquement transmises 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 fichier manifeste des outils. Consultez la documentation de votre client pour savoir comment vous reconnecter au serveur MCP.
  • Capacité du serveur : pendant la phase 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 pointe, vous pouvez rencontrer des délais d'attente occasionnels. 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'adresses IP autorisées 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 d'IA consomment les quotas d'API standards de l'instance, qu'ils soient administratifs ou basés sur des requêtes. Une activité élevée de l'agent peut avoir un impact sur votre quota d'API disponible.