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 interagire con i dati aziendali e i modelli LookML.
Ospitando il server, Looker elimina la necessità di implementare e gestire la tua infrastruttura middleware, fornendo un gateway plug-and-play, sicuro e controllato per ottenere informazioni aziendali affidabili.
Il server MCP gestito da Looker è in anteprima per le istanze di Looker (Google Cloud core) e Looker (originale). Le istanze ospitate dal cliente (on-premise) non sono supportate per questa anteprima.
Se utilizzi un'istanza ospitata dal cliente o se preferisci gestire la tua infrastruttura, puoi connetterti utilizzando MCP Toolbox for Databases standalone. 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 Utilizzare 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 agli strumenti, devi disporre del ruolo Looker Amministratore.
- Per registrare il tuo agente AI come client OAuth utilizzando Explorer API: devi disporre del ruolo Looker Amministratore.
- Per connettere un agente AI al server MCP gestito da Looker: devi disporre delle credenziali di accesso standard di Looker per l'autenticazione durante la procedura 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.
Configurare il server MCP gestito
Configura l'accesso allo strumento per configurare il server MCP gestito.
Configurare le impostazioni dello strumento
Per impostazione predefinita, tutti gli strumenti sono disattivati per il server MCP gestito. Gli amministratori di Looker devono abilitare esplicitamente gli strumenti che gli agenti AI sono autorizzati a utilizzare. Per i passaggi per attivare gli strumenti, consulta la pagina della documentazione Impostazioni di amministrazione - Model Context Protocol (MCP).
Configurare le impostazioni CORS
Se il client MCP viene eseguito 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 all'elenco consentito dei domini incorporati nel pannello Amministrazione.
Registrare un agente AI tramite OAuth
Durante il lancio dell'anteprima, gli amministratori di Looker devono registrare manualmente un agente AI per connetterlo al server MCP gestito.
Apri Explorer API Looker.
Se nella tua istanza Looker è già installato Explorer API, puoi accedervi con questo formato URL:
LOOKER_INSTANCE_URL/extensions/marketplace_extension_api_explorer::api-explorer/Se la tua istanza Looker non dispone di API Explorer, puoi installarlo da Looker Marketplace. Per informazioni, consulta la pagina Utilizzo di Explorer API.
Se utilizzi un'istanza di connessioni private di Looker (Google Cloud core) che utilizza l'accesso privato ai servizi, Looker Marketplace ed Explorer API non sono supportati. Per registrare un agente AI, devi chiamare direttamente l'endpoint API
oauth_client_apps. Se utilizzi questo metodo, puoi saltare la seguente procedura di Explorer API e passare direttamente alla sezione Configurare un client MCP.Espandi questa sezione per visualizzare un esempio di comando
curlche puoi utilizzare con l'endpointoauth_client_appsper registrare l'agente.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 }'
Nel metodo Auth, trova l'endpoint API Register OAuth App. Puoi anche cercare "app OAuth" nel campo Cerca.
Nella pagina Register OAuth App (Registra app OAuth), fai clic sul pulsante Run It (Esegui).
Nella scheda Richiesta della finestra di dialogo Esegui, inserisci le seguenti informazioni nei campi corrispondenti:
Per il campo
CLIENT_GUID, completa i seguenti passaggi:- Se l'agente prescrive un ID client specifico, utilizza quello.
- Se l'agente non prescrive un ID client specifico, utilizza un ID univoco a livello globale.
- Prepara la distribuzione dell'ID a tutti gli sviluppatori LookML che vogliono utilizzare l'agente.
Per
redirect_uri, l'URI varia a seconda dell'applicazione dell'agente AI. Per l'URL di reindirizzamento specifico, consulta la documentazione di autenticazione OAuth dell'agente. Il formato potrebbe essere simile a uno dei seguenti esempi:Gemini CLI
http://localhost:7777/oauth/callback
Gemini Code Assist
http://localhost:7777/oauth/callback
Ti consigliamo di utilizzare Gemini CLI con Gemini Code Assist, nel qual caso condividono la stessa configurazione di porta e server di callback locale.
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
(o con l'impostazione--callback-port 8080callbackPortinmcp.json) in modo che corrisponda all'URI registrato.http://localhost:8080/callback
VS Code e altri IDE
Per gli IDE, l'URI di reindirizzamento potrebbe essere simile a questo, personalizzato per il tuo IDE.
vscode://google.vscode-looker-official/oauth_callback
App ospitate sul cloud
Per le applicazioni ospitate sul cloud, potrebbe avere l'aspetto di un URL HTTPS sicuro:
https://AI_AGENT_URL/oauth2callback
App locali
Per le applicazioni eseguite localmente, deve essere un URL localhost con una porta statica:
http://localhost:7777/oauth/callback
Completa
display_nameedescriptioncome descritto nella documentazione Registrazione di un'applicazione client OAuth.
Seleziona la casella di controllo Sono consapevole che questo endpoint API modificherà i dati.
Fai clic su Esegui.
Per verificare di aver configurato correttamente l'autenticazione utilizzando il metodo
Get OAuth Client Appin Explorer API, segui questi passaggi:- Nel campo Cerca di Explorer API, inserisci Get OAuth Client App.
- Fai clic su Esegui.
Nel campo CLIENT_GUID, inserisci il valore che hai utilizzato durante la registrazione di OAuth:
CLIENT_GUID
Se hai configurato correttamente OAuth, la scheda Risposta restituirà i valori che hai inserito durante la registrazione dell'app.
(Facoltativo) Puoi attivare in anticipo l'utente dell'app OAuth utilizzando il metodo
Activate App Userin Explorer API seguendo questi passaggi:- Nel campo Cerca di Explorer API, inserisci Activate App User.
- Fai clic su Esegui.
Nel campo CLIENT_GUID, inserisci il valore che hai utilizzato durante la registrazione dell'app OAuth:
CLIENT_GUIDNel campo user_id, inserisci l'ID utente di Looker dell'utente.
Fai clic su Esegui.
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 del server:
LOOKER_INSTANCE_URL/mcp - Autenticazione:OAuth 2.1
Configurazioni di esempio (mcp.json)
Questa sezione descrive come configurare vari strumenti per sviluppatori per connettersi all'istanza di Looker utilizzando il server MCP gestito da Looker. Il server MCP si trova tra l'IDE e Looker e fornisce 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 la CLI Gemini per connettersi direttamente al server MCP gestito da Looker.
- Installa la Gemini CLI.
- Aggiungi il server MCP remoto utilizzando il seguente comando, sostituendo
LOOKER_INSTANCE_URLcon l'URL dell'istanza 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.jsono nella directory del progetto):{ "mcpServers": { "looker": { "httpUrl": "LOOKER_INSTANCE_URL/mcp", "oauth": { "clientId": "CLIENT_GUID" } } } } - Avvia Gemini CLI in modalità interattiva:
Quando ti viene chiesto di connetterti, la CLI avvia il flusso di autorizzazione OAuth per l'autenticazione sicura con l'istanza di Looker.gemini
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.
- Assicurati di aver installato e configurato la Gemini CLI e il server MCP gestito da Looker.
- Configura Gemini Code Assist per utilizzare Gemini CLI.
- 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 connettersi al server MCP gestito da Looker come datastore del server MCP personalizzato.
- Segui la documentazione ufficiale per creare un datastore del server MCP personalizzato in Gemini Enterprise.
- Per la configurazione del datastore, utilizza i seguenti valori, sostituendo
LOOKER_INSTANCE_URLcon l'URL dell'istanza di Looker eCLIENT_GUIDcon 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 inserirenonecome mostrato nella configurazione di esempio. - Esegui l'autenticazione tramite OAuth per continuare.
- Imposta la descrizione del server MCP per aiutare Gemini a capire quando richiamarlo. Ad esempio:
Looker Agent with API access to various aspects of Looker. Primarily used to fetch data and run dashboards from Looker.
- 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.
- Vai alla scheda Azioni nel datastore MCP personalizzato che hai appena creato e attiva gli strumenti che vuoi che Gemini Enterprise utilizzi.
- Completa la configurazione andando su Gemini Enterprise, facendo clic sull'icona Connettore e autorizzando il server MCP.
Claude Code
- Installa Claude Code.
- Crea il file
.mcp.jsonnella directory root del progetto, se non esiste. - Aggiungi la seguente configurazione, sostituendo
LOOKER_INSTANCE_URLcon l'URL della tua istanza di Looker eCLIENT_GUIDcon il GUID del client OAuth, poi salva.
{
"mcpServers": {
"looker": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp",
"oauth": {
"clientId": "CLIENT_GUID",
"callbackPort": 8080
}
}
}
}
Claude desktop
- Nella versione desktop di Claude, vai a Impostazioni e seleziona Connettori.
- Scegli Aggiungi connettore personalizzato e inserisci un nome (ad esempio, Looker).
- Per l'URL, inserisci l'URL della tua istanza di Looker con il percorso
/mcpaggiunto (ad esempio,https://looker.example.com/mcp). - In Impostazioni avanzate, inserisci la stringa esatta che hai utilizzato per
CLIENT_GUIDdurante la registrazione dell'app OAuth. Lascia vuoto il client secret OAuth. - Seleziona Aggiungi per salvare il connettore. Quando ti viene chiesto di connetterti, Claude desktop avvia in modo sicuro il flusso di autorizzazione PKCE tramite il browser.
- Riavvia Claude desktop.
Cline
- Apri l'estensione Cline nel tuo IDE e fai clic sull'icona Server MCP.
- Fai clic su Configura server MCP per aprire il file di configurazione.
- Aggiungi la seguente configurazione, sostituendo
LOOKER_INSTANCE_URLcon l'URL di Looker, quindi salva.
{
"mcpServers": {
"looker": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
Cursore
- Crea la directory
.cursornella radice del progetto, se non esiste. - Crea il file
.cursor/mcp.jsonse non esiste e aprilo. - Aggiungi la seguente configurazione, sostituendo
LOOKER_INSTANCE_URLcon l'URL di Looker, quindi salva.
{
"mcpServers": {
"looker": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
- Apri Cursore e vai a Impostazioni > Impostazioni cursore > MCP. Quando il server si connette, viene visualizzato uno stato attivo verde.
Visual Studio Code (Copilot)
- Apri VS Code e crea la directory
.vscodenella directory root del progetto, se non esiste. - Crea il file
.vscode/mcp.jsonse non esiste e aprilo. - Aggiungi la seguente configurazione, sostituendo
LOOKER_INSTANCE_URLcon l'URL della tua istanza di Looker, quindi salva.
{
"servers": {
"looker": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
Windsurf
- Apri Windsurf e vai all'assistente Cascade.
- Fai clic sull'icona MCP, quindi su Configura per aprire il file di configurazione.
- Aggiungi la seguente configurazione, sostituendo
LOOKER_INSTANCE_URLcon l'URL della tua istanza di Looker, quindi salva.
{
"mcpServers": {
"looker": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
Esegui l'autenticazione con il client
Dopo aver configurato il client MCP con le impostazioni mcp.json, la prima volta che tenti di interagire con Looker tramite questo 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 ad 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 connesso, il client erediterà i tuoi ruoli Looker e l'accesso ai contenuti. Il client avrà anche accesso agli strumenti di AI che l'amministratore di Looker ha abilitato per il server MCP. Per un elenco di tutti gli strumenti possibili, consulta la documentazione Utilizzare gli strumenti di 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 limiti esistenti dei Controlli di servizio VPC 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 ulteriori criteri o configurazioni.
Audit logging
Ogni azione intrapresa da un agente AI viene registrata in Attività di sistema e Cloud Audit Logs di Looker.
Attività di sistema
L'attività del server MCP gestito da Looker viene monitorata nelle esplorazioni Cronologia e Attributo evento. La pagina della documentazione Monitorare l'utilizzo di Looker con le esplorazioni dell'attività di sistema fornisce le seguenti query di esempio:
- Quali chiamate API sono state avviate dal server MCP gestito da Looker?
- Quali eventi sono correlati a una richiesta del server MCP gestito da Looker?
- Quali aggiornamenti sono stati apportati alle impostazioni dello strumento del server MCP gestito da Looker dagli amministratori di Looker?
- Quali query sono state eseguite dagli utenti del server MCP gestito da Looker?
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 Registrazione degli audit log 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 dell'accesso si basa sulla lista consentita globale degli strumenti e sulle autorizzazioni di base dell'utente.
- Registrazione dinamica:la registrazione dinamica del client non è supportata nell'anteprima.
- Aggiornamento 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 e poi ricollegare il client per aggiornare il manifest degli strumenti. Consulta la documentazione del tuo client per informazioni su come riconnetterti 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 picco di utilizzo, potresti riscontrare occasionalmente dei timeout. Questo è un comportamento previsto.
- Liste consentite IP:il server MCP gestito da Looker non è compatibile con le liste consentite IP in Looker (originale). È compatibile con le liste consentite di indirizzi IP in Looker (Google Cloud core).
Prezzi e quote
Il server MCP gestito da Looker è disponibile senza costi aggiuntivi. Tuttavia, le chiamate di strumenti effettuate dagli agenti AI consumano le quote API amministrative e basate su query standard dell'istanza. Un'attività elevata dell'agente potrebbe influire sulla quota API disponibile.