Server MCP gestito da Looker

Il server MCP gestito da Looker è un'integrazione integrata che incorpora un server Model Context Protocol (MCP) direttamente nella piattaforma Looker. Consente agli agenti AI, come Gemini CLI, Claude Desktop, Cursor e Copilot, di connettersi in modo sicuro a un'istanza di Looker e di interagire con i dati aziendali e i modelli LookML.

Ospitando il server, Looker elimina la necessità di eseguire il deployment e la manutenzione della tua infrastruttura middleware, fornendo un gateway plug-and-play, sicuro e regolamentato per accedere a insight aziendali affidabili.

Se utilizzi un'istanza ospitata dal cliente o se preferisci gestire la tua infrastruttura, puoi connetterti utilizzando MCP Toolbox for Databases autonomo. MCP Toolbox è un server MCP open source che puoi eseguire sul tuo computer locale o sul tuo server per fungere da ponte tra gli agenti AI e la tua istanza di Looker. Per ulteriori informazioni, consulta la pagina della documentazione Utilizza Looker con MCP, Gemini CLI e altri agenti.

Prima di iniziare

Per utilizzare il server MCP gestito da Looker, devi soddisfare i seguenti requisiti:

Requisiti dell'istanza

  • Devi utilizzare un'istanza di Looker (Google Cloud core) o di Looker (originale).
  • L'istanza deve essere ospitata da Looker.

Autorizzazioni obbligatorie

  • Per gestire l'accesso allo strumento: devi disporre del ruolo Looker Amministratore.
  • Per registrare o attivare l'agente AI come client OAuth: devi disporre del ruolo Looker Admin.
  • Per connettere un agente AI al server MCP gestito da Looker: devi disporre delle tue credenziali di accesso standard di Looker per l'autenticazione durante il processo di connessione OAuth. L'agente AI deve prima essere registrato come client OAuth da un amministratore di Looker. Una volta connesso, l'agente AI erediterà i ruoli e l'accesso di Looker dell'utente che ha eseguito l'autenticazione.

Configura il server MCP gestito

Configura l'accesso agli strumenti per configurare il server MCP gestito.

Configura le impostazioni dello strumento

Per impostazione predefinita, tutti gli strumenti sono disabilitati per il server MCP gestito. Gli amministratori di Looker devono abilitare esplicitamente gli strumenti che gli agenti AI possono utilizzare. Consulta la pagina della documentazione Impostazioni amministratore - Model Context Protocol (MCP) per i passaggi per attivare gli strumenti.

Configura le impostazioni CORS

Se il client MCP è in esecuzione direttamente in un browser web e vuole comunicare con il server MCP gestito da Looker utilizzando CORS, l'amministratore di Looker deve aggiungere il dominio del sito web del client alla lista consentita dei domini incorporati nel pannello di amministrazione.

Registra un agente AI tramite OAuth

Per connettere un agente AI al server MCP gestito da Looker, un amministratore deve abilitare o registrare l'agente AI come applicazione client OAuth nella pagina Gestisci client OAuth del pannello Amministratore di Looker.

Puoi attivare i client AI preconfigurati dalla Libreria delle applicazioni o registrare un client personalizzato nella scheda Client personalizzati:

  • Libreria di applicazioni (consigliata): utilizza le registrazioni dei client OAuth preconfigurate e gestite da Looker per gli agenti AI e gli strumenti per sviluppatori più diffusi, come Cursor, VS Code, Claude Code, Claude Desktop, ChatGPT, Gemini CLI, Cline, Windsurf, Antigravity e l'estensione Looker per VS Code.
  • Client personalizzati: registra un nuovo client OAuth personalizzato se il tuo strumento AI non è disponibile nella libreria delle applicazioni o se devi configurare un URI o una porta di reindirizzamento personalizzati.

Opzione 1: attiva un agente AI preconfigurato dalla libreria delle applicazioni

Ti consigliamo di controllare prima la scheda Libreria delle applicazioni.

Per attivare un client agente AI preconfigurato, segui questi passaggi:

  1. Nel pannello di amministrazione Amministratore di Looker, vai alla sezione Autenticazione e seleziona Gestisci client OAuth.
  2. Seleziona la scheda Libreria di applicazioni.
  3. Individua l'applicazione client per il tuo agente AI (ad esempio Cursor, Claude Code, Cline o Gemini CLI). Puoi utilizzare la barra di ricerca per filtrare in base al nome.
  4. Imposta l'opzione Attiva su ON.
  5. Copia l'ID client visualizzato nella riga del client. Dovrai fornire questo ID client quando configuri le impostazioni MCP dell'agente AI (ad esempio, in mcp.json o nei flag di avvio). Se gli utenti di Looker che non dispongono del ruolo di amministratore di Looker devono utilizzare questo client, distribuisci loro l'ID client.

URI di reindirizzamento e gestione dinamica delle porte

Looker richiede che gli URI di reindirizzamento OAuth corrispondano esattamente ai valori registrati e non supporta gli URI di reindirizzamento con caratteri jolly. Alcuni strumenti AI utilizzano porte locali dinamiche o temporanee per impostazione predefinita quando avviano un callback OAuth (come Claude Code o Cline). Per supportare questi strumenti, Looker preregistra una porta predefinita fissa per ogni client di libreria (ad esempio, la porta 8080 per Claude Code e Cline o la porta 7777 per Gemini CLI).

Per utilizzare un client di libreria preconfigurato con porte dinamiche, scegli una delle seguenti opzioni:

  • Configura il client in modo che utilizzi la porta statica preregistrata: nelle impostazioni o nel comando di avvio dello strumento, specifica la porta preregistrata. Ad esempio:
    • Claude Code: esegui Claude Code con il flag --callback-port 8080 (o configura "callbackPort": 8080 in mcp.json).
    • Cline: configura la porta di callback OAuth su 8080.
    • Gemini CLI: imposta la variabile di ambiente export OAUTH_CALLBACK_PORT=7777.
    • VS Code: utilizza l'URI statico preregistrato http://127.0.0.1:33418/.
  • Registra un client personalizzato: se devi utilizzare una porta diversa o un URL di callback personalizzato, registra un client personalizzato con l'URI di reindirizzamento che preferisci, come descritto nella sezione successiva.

Opzione 2: registra un client agente AI personalizzato

Se il tuo agente AI non è incluso nella libreria delle applicazioni o se devi utilizzare un URL o una porta di callback personalizzati, completa i passaggi descritti nella documentazione Impostazioni amministratore - Gestisci i client OAuth per registrare un client personalizzato. Dopo aver aggiunto il client, copia l'ID client da utilizzare durante la configurazione del client MCP.

Registrazione programmatica (Explorer API o API)

Per i deployment automatizzati (come le pipeline CI/CD o gli script di provisioning), gli amministratori di Looker possono registrare i client OAuth in modo programmatico.

Espandi questa sezione per scoprire come registrare un client OAuth utilizzando l'API o Explorer API.

Puoi registrare un agente AI utilizzando l'endpoint API oauth_client_apps direttamente con 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
}'

In alternativa, puoi utilizzare Explorer API di Looker:

  1. Nel metodo Auth, individua l'endpoint API Register OAuth App.
  2. Fai clic su Esegui, inserisci CLIENT_GUID, redirect_uri, display_name e description, seleziona la casella di controllo di conferma e poi fai clic su Esegui.
    • Gemini CLI
      http://localhost:7777/oauth/callback
      

      Nota: alcuni strumenti, come Gemini CLI, potrebbero richiedere l'impostazione di una variabile di ambiente (ad esempio export OAUTH_CALLBACK_PORT=7777) per garantire che gli strumenti utilizzino una porta statica corrispondente all'URI di reindirizzamento registrato.

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

      Ti consigliamo di utilizzare Gemini CLI con Gemini Code Assist, in modo che condividano lo stesso server di callback locale e la stessa configurazione della porta.

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

      Claude Code utilizza una porta disponibile casuale per il callback OAuth, ma devi correggerla utilizzando il flag --callback-port 8080 (o con l'impostazione callbackPort in mcp.json) in modo che corrisponda all'URI registrato.

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

      Per VS Code, utilizza il seguente URI.

      http://127.0.0.1:33418/
      

      Nota: la barra finale (/) alla fine dell'URI è obbligatoria.

    • App ospitate nel cloud

      Per le applicazioni in hosting su cloud, potrebbe avere l'aspetto di un URL HTTPS sicuro:

      https://AI_AGENT_URL/oauth2callback
      
    • App locali

      Per le applicazioni in esecuzione in locale, l'URI di reindirizzamento deve essere un URL localhost con una porta statica:

      http://localhost:7777/oauth/callback
      
  3. Per verificare la registrazione, esegui l'endpoint Get OAuth Client App con il tuo CLIENT_GUID.

Configura il client MCP

Una volta registrato l'agente AI, puoi connetterlo all'endpoint MCP gestito come client MCP. Per completare la configurazione del client, consulta la documentazione dell'agente.

  • URL server: LOOKER_INSTANCE_URL/mcp
  • Autenticazione: OAuth 2.1

Configurazioni di esempio (mcp.json)

Questa sezione descrive come configurare vari strumenti per sviluppatori per connetterti alla tua istanza di Looker utilizzando il server MCP gestito da Looker. Il server MCP si trova tra l'IDE e Looker, fornendo un control plane sicuro ed efficiente per i tuoi strumenti AI. Seleziona la scheda dello strumento specifico per visualizzare le istruzioni di configurazione.

Gemini CLI

Configura Gemini CLI per connetterti direttamente al server MCP gestito da Looker.

  1. Installa Gemini CLI.
  2. Aggiungi il server MCP remoto utilizzando il seguente comando, sostituendo LOOKER_INSTANCE_URL con l'URL della tua istanza di Looker:
    gemini mcp add --transport http looker LOOKER_INSTANCE_URL/mcp
    

    In alternativa, puoi configurarlo manualmente aggiungendo la seguente configurazione al file settings.json (che si trova in ~/.gemini/settings.json o nella directory del progetto):

    {
      "mcpServers": {
        "looker": {
          "httpUrl": "LOOKER_INSTANCE_URL/mcp",
          "oauth": {
            "clientId": "CLIENT_GUID"
          }
        }
      }
    }
    
  3. Avvia Gemini CLI in modalità interattiva:
    gemini
    
    Quando ti viene chiesto di connetterti, l'interfaccia a riga di comando avvia il flusso di autorizzazione OAuth per l'autenticazione sicura con l'istanza Looker.

Gemini Code Assist

Ti consigliamo di configurare Gemini Code Assist in modo che utilizzi Gemini CLI. Questo approccio elimina la necessità di configurare manualmente un server MCP.

  1. Assicurati di aver installato e configurato Gemini CLI e il server MCP gestito da Looker.
  2. Configura Gemini Code Assist per utilizzare Gemini CLI.
  3. Inizia a interagire con la tua istanza di Looker utilizzando il linguaggio naturale direttamente nella chat di Gemini Code Assist.

Gemini Enterprise

Configura Gemini Enterprise per connetterti al server MCP gestito da Looker come datastore del server MCP personalizzato.

  1. Segui la documentazione ufficiale per creare un datastore del server MCP personalizzato in Gemini Enterprise.
  2. Per la configurazione del datastore, utilizza i seguenti valori, sostituendo LOOKER_INSTANCE_URL con l'URL dell'istanza di Looker e CLIENT_GUID con la stringa esatta che hai utilizzato durante la registrazione dell'app 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 non richiede un client secret OAuth, ma Gemini Enterprise richiede un valore nel campo client_secret. Puoi inserire none come mostrato nella configurazione di esempio.

  3. Esegui l'autenticazione tramite OAuth per procedere.
  4. Imposta la descrizione del server MCP per aiutare Gemini a capire quando richiamare il server. Ad esempio:
    Looker Agent with API access to various aspects of Looker. Primarily used to fetch data and run dashboards from Looker.
    
  5. Definisci le istruzioni dell'agente del server MCP. Ad esempio:
    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. Vai alla scheda Azioni nel datastore MCP personalizzato che hai appena creato e attiva gli strumenti che vuoi che Gemini Enterprise utilizzi.
  7. Completa la configurazione andando su Gemini Enterprise, facendo clic sull'icona Connettore e autorizzando il server MCP.

Claude Code

  1. Installa Claude Code.
  2. Crea il file .mcp.json nella directory root del progetto, se non esiste.
  3. Aggiungi la seguente configurazione, sostituendo LOOKER_INSTANCE_URL con l'URL della tua istanza di Looker e CLIENT_GUID con il GUID del tuo client OAuth, quindi salva.

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

Claude per computer

  1. In Claude per computer, vai a Impostazioni e seleziona Connettori.
  2. Scegli Aggiungi connettore personalizzato e inserisci un nome (ad esempio, Looker).
  3. Per l'URL, inserisci l'URL dell'istanza di Looker con il percorso /mcp aggiunto (ad esempio, https://looker.example.com/mcp).
  4. In Impostazioni avanzate, inserisci la stringa esatta che hai utilizzato per CLIENT_GUID durante la registrazione dell'app OAuth. Lascia vuoto il client secret OAuth.
  5. Seleziona Aggiungi per salvare il connettore. Quando ti viene chiesto di connetterti, Claude per computer avvia in modo sicuro il flusso di autorizzazione PKCE tramite il tuo browser.
  1. Riavvia Claude per computer.

Cline

  1. Apri l'estensione Cline nell'IDE e fai clic sull'icona Server MCP.
  2. Fai clic su Configura i server MCP per aprire il file di configurazione.
  3. Aggiungi la seguente configurazione, sostituendo LOOKER_INSTANCE_URL con l'URL di Looker, quindi salva.

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

Una volta stabilita la connessione al server, viene visualizzato uno stato attivo verde.

Cursore

  1. Se non esiste, crea la directory .cursor nella directory root del progetto.
  2. Crea il file .cursor/mcp.json se non esiste e aprilo.
  3. Aggiungi la seguente configurazione, sostituendo LOOKER_INSTANCE_URL con l'URL di Looker, quindi salva.
      {
        "mcpServers": {
          "looker": {
            "url": "LOOKER_INSTANCE_URL/mcp",
            auth: {
              "CLIENT_ID": "CLIENT_GUID"
            }
          }
        }
      }
  
  1. Apri Cursor e vai a Settings > Cursor Settings > MCP (Impostazioni > Impostazioni Cursor > MCP). Quando il server si connette, viene visualizzato lo stato attivo verde.

Visual Studio Code (Copilot)

  1. Apri VS Code e crea la directory .vscode nella directory root del progetto, se non esiste.
  2. Crea il file .vscode/mcp.json se non esiste e aprilo.
  3. Aggiungi la seguente configurazione, sostituendo LOOKER_INSTANCE_URL con l'URL della tua istanza di Looker, quindi salva.
      {
        "servers": {
          "looker": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Windsurf

  1. Apri Windsurf e vai all'assistente Cascade.
  2. Fai clic sull'icona MCP, quindi su Configura per aprire il file di configurazione.
  3. Aggiungi la seguente configurazione, sostituendo LOOKER_INSTANCE_URL con l'URL della tua istanza di Looker, quindi salva.
      {
        "mcpServers": {
          "looker": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Autenticati con il client

Dopo aver configurato il client MCP con le impostazioni di mcp.json, la prima volta che tenti di interagire con Looker tramite quel client, verrà avviato il flusso di autenticazione OAuth 2.1. In genere, il client apre una finestra del browser in cui devi accedere alla tua istanza di Looker utilizzando le tue credenziali standard e concedere all'applicazione l'autorizzazione per accedere a Looker per tuo conto.

Questa procedura di accesso è il passaggio di autenticazione interattiva che consente al client MCP di ottenere un token di accesso per effettuare richieste future.

Per ulteriori dettagli, consulta la documentazione del client.

Una volta stabilita la connessione, il client erediterà i tuoi ruoli e l'accesso ai contenuti di Looker. Il client avrà anche accesso agli strumenti AI che l'amministratore di Looker ha abilitato per il server MCP. Per un elenco di tutti i possibili strumenti, consulta la documentazione Utilizza gli strumenti AI.

Sicurezza e governance

Il server MCP gestito è progettato per ereditare il framework di sicurezza e governance esistente di Looker.

  • Limite delle autorizzazioni: il server applica autorizzazioni rigorose a livello di utente. Un agente AI non può accedere a dati o modelli che l'utente autenticato non è autorizzato a visualizzare.
  • Controlli di servizio VPC: per le istanze di Looker (Google Cloud core) che utilizzano i Controlli di servizio VPC, l'endpoint MCP gestito rispetta i confini dei Controlli di servizio VPC esistenti senza richiedere policy o configurazioni aggiuntive.
  • Chiavi di crittografia gestite dal cliente (CMEK): per le istanze di Looker (Google Cloud core) che utilizzano CMEK, il server MCP gestito è conforme a CMEK senza richiedere policy o configurazioni aggiuntive.
  • Liste consentite di IP: per le istanze che utilizzano una lista consentita di IP in Looker (Google Cloud core) o Looker (originale), l'endpoint MCP gestito rispetta le regole della lista consentita di IP esistenti senza richiedere ulteriori configurazioni.

Audit logging

Ogni azione eseguita da un agente AI viene registrata nell'Attività di sistema di Looker e in Cloud Audit Logs.

Attività di sistema

L'attività del server MCP gestito da Looker viene monitorata nelle esplorazioni Cronologia e Attributo evento. La pagina della documentazione Monitoraggio dell'utilizzo di Looker con le esplorazioni dell'Attività del sistema fornisce le seguenti query di esempio:

Cloud Audit Logs

Le istanze di Looker (Google Cloud core) monitorano anche l'attività del server MCP gestito da Looker tramite Cloud Audit Logs. La pagina della documentazione Audit logging di Looker (Google Cloud core) fornisce query di esempio.

Limitazioni

  • Ambiti granulari: gli ambiti OAuth non sono ancora supportati per il server MCP gestito. Il controllo degli accessi si basa sulla lista consentita globale degli strumenti e sulle autorizzazioni di base dell'utente.
  • Registrazione dinamica: la registrazione dinamica dei client non è supportata nell'anteprima.
  • Aggiornamento del client: le modifiche alla lista consentita degli strumenti non vengono inviate automaticamente ai client connessi. Gli utenti devono attendere 30 secondi dopo aver apportato una modifica all'elenco degli strumenti, quindi ricollegare il client per aggiornare il manifest degli strumenti. Consulta la documentazione del client per informazioni su come ricollegarti al server MCP.
  • Capacità del server: durante la fase di anteprima, il server MCP gestito è configurato con una capacità fissa per aiutarci a raccogliere dati sul rendimento. Durante i periodi di utilizzo intenso, potresti riscontrare timeout occasionali. Questo è un comportamento previsto.

Prezzi e quote

Il server MCP gestito da Looker è disponibile senza costi aggiuntivi. Tuttavia, le chiamate agli strumenti effettuate dagli agenti AI consumano le quote API standard dell'istanza per l'amministrazione e le query. Un'attività elevata dell'agente potrebbe influire sulla quota API disponibile.