Servidor de MCP administrado por Looker

El servidor de MCP administrado por Looker es una integración integrada que incorpora un servidor de Protocolo de contexto del modelo (MCP) directamente en la plataforma de Looker. Permite que los agentes de IA, como Gemini CLI, Claude para computadoras de escritorio, Cursor y Copilot, se conecten de forma segura a una instancia de Looker y que interactúen con datos de la empresa y modelos de LookML.

Al alojar el servidor, Looker elimina la necesidad de que implementes y mantengas tu propia infraestructura de middleware, lo que proporciona una puerta de enlace plug-and-play, segura y administrada a estadísticas empresariales confiables.

El servidor de MCP administrado por Looker está en versión preliminar para instancias de Looker (Google Cloud Core) y Looker (original). Las instancias alojadas por el cliente (locales) no son compatibles con esta versión preliminar.

Si usas una instancia alojada por el cliente o prefieres administrar tu propia infraestructura, puedes conectarte con MCP Toolbox para bases de datos independiente. MCP Toolbox es un servidor de MCP de código abierto que puedes ejecutar en tu computadora local o en tu propio servidor para que actúe como un puente entre los agentes de IA y tu instancia de Looker. Consulta la página de documentación Usa Looker con MCP, Gemini CLI y otros agentes para obtener más información.

Antes de comenzar

Para usar el servidor de MCP administrado por Looker, debes cumplir con los siguientes requisitos:

Requisitos de la instancia

  • Debes usar una instancia de Looker (Google Cloud Core) o Looker (original).
  • Looker debe alojar la instancia.

Permisos necesarios

  • Para administrar el acceso a las herramientas, debes tener el rol de administrador de Looker.
  • Para registrar tu agente de IA como cliente de OAuth con el Explorador de API, debes tener el rol de administrador de Looker.
  • Para conectar un agente de IA al servidor de MCP administrado por Looker: necesitas tus credenciales de acceso estándar de Looker para autenticarte durante el proceso de conexión de OAuth. Un administrador de Looker primero debe registrar el agente de IA como cliente de OAuth. Una vez conectado, el agente de IA heredará los roles y el acceso de Looker del usuario que se autenticó.

Configura el servidor de MCP administrado

Configura el acceso a las herramientas para configurar el servidor de MCP administrado.

Configura los parámetros de configuración de las herramientas

De forma predeterminada, todas las herramientas están inhabilitadas para el servidor de MCP administrado. Los administradores de Looker deben habilitar de forma explícita las herramientas que pueden usar los agentes de IA. Consulta la página de documentación Configuración de administrador: Protocolo de contexto del modelo (MCP) para conocer los pasos para habilitar las herramientas.

Registra un agente de IA a través de OAuth

Durante el lanzamiento de la versión preliminar, los administradores de Looker deben registrar manualmente un agente de IA para conectarlo al servidor de MCP administrado.

  1. Abre el Explorador de API de Looker.

    • Si tu instancia de Looker ya tiene instalado el Explorador de API, puedes acceder a él con este formato de URL:

      https://LOOKER_INSTANCE_URL/extensions/marketplace_extension_api_explorer::api-explorer/
      
    • Si tu instancia de Looker no tiene el Explorador de API, puedes instalarlo desde Looker Marketplace. Consulta la página Usa el Explorador de API para obtener información.

    • Si usas una instancia de conexiones privadas de Looker (Google Cloud Core) que usa el acceso privado a servicios, Looker Marketplace y el Explorador de API no son compatibles. Para registrar un agente de IA, debes llamar directamente al extremo de API oauth_client_apps. Si usas este método, puedes omitir el siguiente procedimiento del Explorador de API y pasar directamente a la sección Configura un cliente de MCP.

      Expande esta sección para ver un ejemplo de un comando curl que puedes usar con el extremo oauth_client_apps para registrar el 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
      }'
      
  2. En el método Auth, busca el extremo de API de Register OAuth App. También puedes buscar "oauth app" en el campo Search.

  3. En la página Register OAuth App, haz clic en el botón Run It.

  4. En la pestaña Request del diálogo Run It, ingresa la siguiente información en los campos correspondientes:

    • Para el campo client_guid, completa los siguientes pasos:

      • Si el agente prescribe un ID de cliente específico, usa ese ID.
      • Si el agente no prescribe un ID de cliente específico, usa cualquier ID único global.
      • Prepárate para distribuir el ID a cualquier desarrollador de LookML que quiera usar el agente.
    • Para redirect_uri, el URI varía según la aplicación del agente de IA. Puedes consultar la documentación de autenticación de OAuth de tu agente para obtener su URL de redireccionamiento específica. El formato puede ser similar a uno de los siguientes ejemplos:

      Gemini CLI

      http://localhost:7777/oauth/callback
      

      Gemini Code Assist

      http://localhost:7777/oauth/callback
      

      Te recomendamos que uses Gemini CLI con Gemini Code Assist, en cuyo caso comparten el mismo servidor de devolución de llamada local y la misma configuración de puerto.

      Código de Claude

      Claude Code usa un puerto disponible aleatorio para la devolución de llamada de OAuth, pero debes corregirlo con la --callback-port 8080 (o con el callbackPort en mcp.json) para que coincida con tu URI registrado.

      http://localhost:8080/callback
      

      VS Code y otros IDE

      Para los IDE, el URI de redireccionamiento puede verse de la siguiente manera, personalizado para tu IDE.

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

      Apps alojadas en la nube

      Para las aplicaciones alojadas en la nube, puede verse como una URL HTTPS segura:

      https://AI_AGENT_URL/oauth2callback
      

      Apps locales

      Para las aplicaciones que se ejecutan de forma local, debe ser una URL de localhost con un puerto estático:

      http://localhost:7777/oauth/callback
      
    • Completa display_name y description como se describe en la documentación Registra una aplicación cliente de OAuth.

  5. Selecciona la casilla de verificación I understand that this extremo de API will change data.

  6. Haz clic en Ejecutar.

  7. Para verificar que configuraste correctamente la autenticación, usa el método Get OAuth Client App en el Explorador de API siguiendo estos pasos:

    • En el campo Search del Explorador de API, ingresa Get OAuth Client App.
    • Haz clic en Run It.
    • En el campo client_guid, ingresa el valor que usaste cuando registraste OAuth:

      client_guid
      

    Si configuraste OAuth correctamente, la pestaña Response mostrará los valores que ingresaste cuando registraste la app.

Configura el cliente de MCP

Una vez que se registra el agente de IA, puedes conectarlo al extremo de MCP administrado como cliente de MCP. Consulta la documentación de tu agente para completar la configuración del cliente.

  • URL del servidor: LOOKER_INSTANCE_URL/mcp
  • Autenticación: OAuth 2.1

Configuración de ejemplo (mcp.json)

En esta sección, se describe cómo configurar varias herramientas para desarrolladores para conectarse a tu instancia de Looker con el servidor de MCP administrado por Looker. El servidor de MCP se encuentra entre tu IDE y Looker, lo que proporciona un plano de control seguro y eficiente para tus herramientas de IA. Selecciona la pestaña de tu herramienta específica para ver las instrucciones de configuración.

Gemini CLI

Configura Gemini CLI para que se conecte directamente al servidor de MCP administrado por Looker.

  1. Instala el Gemini CLI.
  2. Agrega el servidor de MCP remoto con el siguiente comando y reemplaza LOOKER_INSTANCE_URL por la URL de tu instancia de Looker:
    gemini mcp add --transport http looker LOOKER_INSTANCE_URL/mcp
    

    Como alternativa, puedes configurar esto de forma manual agregando la siguiente configuración a tu archivo settings.json (ubicado en ~/.gemini/settings.json o en el directorio de tu proyecto):

    {
      "mcpServers": {
        "looker": {
          "httpUrl": "LOOKER_INSTANCE_URL/mcp"
        }
      }
    }
    
  3. Inicia Gemini CLI en modo interactivo:
    gemini
    
    Cuando se te solicite que te conectes, la CLI iniciará el flujo de autorización de OAuth para autenticarse de forma segura con tu instancia de Looker.

Gemini Code Assist

Te recomendamos que configures Gemini Code Assist para usar Gemini CLI. Este enfoque elimina la necesidad de configurar manualmente un servidor de MCP.

  1. Asegúrate de haber instalado y configurado el Gemini CLI y el servidor de MCP administrado por Looker.
  2. Configura Gemini Code Assist para usar Gemini CLI.
  3. Comienza a interactuar con tu instancia de Looker usando lenguaje natural directamente en el chat de Gemini Code Assist.

Código de Claude

  1. Instala Claude Code.
  2. Crea el archivo .mcp.json en la raíz de tu proyecto, si no existe.
  3. Agrega la siguiente configuración, reemplaza PROXY_URL por el dominio de tu servidor proxy inverso y, luego, guarda los cambios.

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

Claude para computadoras de escritorio

  1. En Claude para computadoras de escritorio, navega a Configuración y selecciona Conectores.
  2. Elige Agregar conector personalizado y, luego, ingresa un nombre (por ejemplo, Looker).
  3. En la URL, ingresa la URL de tu instancia de Looker con la ruta de acceso /mcp agregada (por ejemplo, https://looker.example.com/mcp).
  4. En Configuración avanzada, ingresa la cadena exacta que usaste para client_guid durante el registro de tu app de OAuth. Deja en blanco el secreto del cliente de OAuth.
  5. Selecciona Agregar para guardar el conector. Cuando se te solicite que te conectes, Claude para computadoras de escritorio iniciará de forma segura el flujo de autorización de PKCE a través de tu navegador.
  1. Reinicia Claude para computadoras de escritorio.

Cline

  1. Abre la extensión de Cline en tu IDE y haz clic en el ícono de servidores de MCP.
  2. Haz clic en Configurar servidores de MCP para abrir el archivo de configuración.
  3. Agrega la siguiente configuración, reemplaza LOOKER_INSTANCE_URL por tu URL de Looker y, luego, guarda los cambios.

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

Aparecerá un estado activo verde después de que el servidor se conecte correctamente.

Cursor

  1. Crea el directorio .cursor en la raíz de tu proyecto si no existe.
  2. Crea el archivo .cursor/mcp.json si no existe y ábrelo.
  3. Agrega la siguiente configuración, reemplaza LOOKER_INSTANCE_URL por tu URL de Looker y, luego, guarda los cambios.
      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  
  1. Abre Cursor y navega a Configuración > Configuración del cursor > MCP. Aparecerá un estado activo verde cuando se conecte el servidor.

Visual Studio Code (Copilot)

  1. Abre VS Code y crea el directorio .vscode en la raíz de tu proyecto si no existe.
  2. Crea el archivo .vscode/mcp.json si no existe y ábrelo.
  3. Agrega la siguiente configuración, reemplaza LOOKER_INSTANCE_URL por la URL de tu instancia de Looker y, luego, guarda los cambios.
      {
        "servers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Windsurf

  1. Abre Windsurf y navega al asistente de Cascade.
  2. Haz clic en el ícono de MCP y, luego, en Configurar para abrir el archivo de configuración.
  3. Agrega la siguiente configuración, reemplaza LOOKER_INSTANCE_URL por la URL de tu instancia de Looker y, luego, guarda los cambios.
      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Autenticación con el cliente

Después de configurar tu cliente de MCP con los parámetros de configuración de mcp.json, la primera vez que intentes interactuar con Looker a través de ese cliente, se iniciará el flujo de autenticación de OAuth 2.1. Por lo general, esto implica que el cliente abra una ventana del navegador en la que debes acceder a tu instancia de Looker con tus credenciales estándar y otorgar permiso a la aplicación para acceder a Looker en tu nombre.

Este proceso de acceso es el paso de autenticación interactivo que permite que el cliente de MCP obtenga un token de acceso para realizar solicitudes futuras.

Consulta la documentación de tu cliente para obtener más detalles.

Una vez conectado, el cliente heredará tus roles de Looker y el acceso al contenido. El cliente también tendrá acceso a las herramientas de IA que el administrador de Looker habilitó para el servidor de MCP. Para obtener una lista de todas las herramientas posibles, consulta la documentación Usa herramientas de IA.

Seguridad y administración

El servidor de MCP administrado está diseñado para heredar el framework de seguridad y administración existente de Looker.

  • Límite de permisos: El servidor aplica permisos estrictos a nivel del usuario. Un agente de IA no puede acceder a datos ni modelos que el usuario autenticado no está autorizado a ver.
  • Controles del servicio de VPC: Para las instancias de Looker (Google Cloud Core) que usan los Controles del servicio de VPC, el extremo de MCP administrado respeta los límites existentes de los Controles del servicio de VPC sin que se requieran políticas ni configuraciones adicionales.
  • Claves de encriptación administradas por el cliente (CMEK): Para las instancias de Looker (Google Cloud Core) que usan CMEK, el servidor de MCP administrado es compatible con CMEK sin que se requieran políticas ni configuraciones adicionales.

Registros de auditoría

Cada acción que realiza un agente de IA se registra en la Actividad del sistema de Looker y en los Registros de auditoría de Cloud.

Actividad del sistema

La actividad del servidor de MCP administrado por Looker se realiza un seguimiento en las exploraciones History y Event Attribute. La página de documentación Supervisa el uso de Looker con exploraciones de actividad del sistema proporciona las siguientes consultas de muestra:

Registros de auditoría de Cloud

Las instancias de Looker (Google Cloud Core) también realizan un seguimiento de la actividad del servidor de MCP administrado por Looker a través de los Registros de auditoría de Cloud. La página de documentación Registros de auditoría de Looker (Google Cloud Core) proporciona consultas de muestra.

Limitaciones

  • Permisos detallados: Los permisos de OAuth aún no son compatibles con el servidor de MCP administrado. El control de acceso se basa en la lista de entidades permitidas de herramientas globales y los permisos básicos del usuario.
  • Registro dinámico: El Registro dinámico de clientes no es compatible con la versión preliminar.
  • Actualización del cliente: Los cambios en la lista de entidades permitidas de herramientas no se envían automáticamente a los clientes conectados. Los usuarios deben esperar 30 segundos después de realizar un cambio en la lista de herramientas y, luego, volver a conectar su cliente para actualizar el manifiesto de herramientas. Consulta la documentación de tu cliente para obtener información sobre cómo volver a conectarte al servidor de MCP.
  • Capacidad del servidor: Durante la fase de versión preliminar, el servidor de MCP administrado se configura con una capacidad fija para ayudarnos a recopilar datos de rendimiento. Durante los períodos de uso máximo, es posible que experimentes tiempos de espera ocasionales. Se prevé que esto suceda.
  • Listas de entidades permitidas de IP: El servidor de MCP administrado por Looker no es compatible con las listas de entidades permitidas de IP en Looker (original). Es compatible con las listas de entidades permitidas de IP en Looker (Google Cloud Core).

Precios y cuotas

El servidor de MCP administrado por Looker está disponible sin costo adicional. Sin embargo, las llamadas a herramientas que realizan los agentes de IA consumen las cuotas estándar de la API administrativa y basada en consultas de la instancia. La actividad alta del agente puede afectar tu cuota de API disponible.