Usar o Looker com o MCP, a CLI do Gemini e outros agentes

Esta página mostra como conectar sua instância do Looker a várias ferramentas de desenvolvedor.

Para uma experiência mais poderosa e integrada, recomendamos usar a extensão dedicada do Looker para a CLI do Gemini. Use a camada semântica do Looker para fornecer à CLI do Gemini acesso seguro, controlado e sob demanda a dados confiáveis e acelerar os fluxos de trabalho automatizando a criação de relatórios, visualizações e dashboards com comandos de linguagem natural. Como a interface de linha de comando de próxima geração do Google Cloud, a CLI do Gemini é a ferramenta recomendada para interagir com suas instâncias do Looker pela linha de comando.

Também é possível conectar outros ambientes de desenvolvimento integrado (IDEs) e ferramentas de desenvolvedor que oferecem suporte ao Protocolo de Contexto de Modelo (MCP, na sigla em inglês) usando o MCP Toolbox for Databases de uso geral. O MCP Toolbox é um servidor MCP de código aberto que simplifica a conexão de agentes de IA aos seus dados, processando complexidades como autenticação e pool de conexões, o que permite interagir com seus dados usando linguagem natural diretamente do seu IDE. Para essas ferramentas, esse método oferece recursos básicos de interação com o banco de dados.

Sobre a CLI do Gemini e as extensões

A CLI do Gemini é um agente de IA de código aberto projetado para acelerar os fluxos de trabalho de desenvolvimento, auxiliando na programação, depuração, exploração de dados e criação de conteúdo. A missão dela é oferecer uma experiência de agente elegante para interagir com serviços de nuvem de dados e bancos de dados de código aberto conhecidos.

Como as extensões funcionam

A CLI do Gemini é altamente extensível, permitindo a adição de novas ferramentas e recursos por meio de extensões. Essas extensões são fáceis de instalar. É possível carregá-las de um URL do GitHub, um diretório local ou um registro configurável. Essas extensões oferecem um conjunto avançado de recursos, incluindo novas ferramentas, comandos de barra e comandos para simplificar seu fluxo de trabalho.

Configurar o Looker

  1. Receba um ID e uma chave secreta do cliente do Looker. Siga as instruções na página de documentação de autenticação da API Looker.
  2. Tenha o URL de base da sua instância do Looker disponível. É provável que seja algo como https://looker.example.com. Em alguns casos, a API está escutando em uma porta diferente, e você precisará usar https://looker.example.com:19999.

Instalar o MCP Toolbox

  1. Faça o download da versão mais recente do MCP Toolbox como um binário. Selecione o binário que corresponde ao seu SO e à arquitetura de CPU. Use a versão V1.0.0 ou mais recente do MCP Toolbox.

    linux/amd64

    curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/v1.0.0/linux/amd64/toolbox

    darwin/arm64

    curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/v1.0.0/darwin/arm64/toolbox

    darwin/amd64

    curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/v1.0.0/darwin/amd64/toolbox

    windows/amd64

    curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/v1.0.0/windows/amd64/toolbox.exe

  2. Torne o binário executável.

    chmod +x toolbox
    
  3. Verifique a instalação.

    ./toolbox --version
    

Configurar o cliente MCP

Esta seção descreve como configurar várias ferramentas de desenvolvedor para se conectar à sua instância do Looker usando o MCP Toolbox for Databases. A caixa de ferramentas funciona como um servidor de Protocolo de Contexto de Modelo (MCP) de código aberto que fica entre o IDE e o banco de dados, fornecendo um plano de controle seguro e eficiente para suas ferramentas de IA. Selecione a guia da sua ferramenta específica para conferir as instruções de configuração.

CLI do Gemini

  1. Instale a CLI do Gemini.
  2. Instale a extensão do Looker para a CLI do Gemini no repositório do GitHub usando o comando a seguir:
    gemini extensions install https://github.com/gemini-cli-extensions/looker
    
  3. Defina as variáveis de ambiente para se conectar à sua instância do Looker, substituindo as variáveis de ambiente a seguir pelos seus valores:
    • LOOKER_URL: o URL da sua instância do Looker.
    • CLIENT_ID e CLIENT_SECRET: a chave de API usada para acessar a API Looker.
    • VERIFY_SSL: true ou false, dependendo se você usa criptografia SSL para conectar seu banco de dados à sua instância do Looker.
    export LOOKER_BASE_URL="LOOKER_URL"
    export LOOKER_CLIENT_ID="CLIENT_ID"
    export LOOKER_CLIENT_SECRET="CLIENT_SECRET"
    export LOOKER_VERIFY_SSL="VERIFY_SSL"
    
  4. Inicie a CLI do Gemini no modo interativo:
    gemini
    
    A CLI carrega automaticamente a extensão do Looker para a extensão da CLI do Gemini e as ferramentas dela, que podem ser usadas para interagir com sua instância do Looker.

Gemini Code Assist

Recomendamos configurar o Gemini Code Assist para usar a CLI do Gemini. Essa abordagem elimina a necessidade de configurar manualmente um servidor MCP.

  1. Verifique se você instalou e configurou a CLI do Gemini e a extensão looker.
  2. Configure o Gemini Code Assist para usar a CLI do Gemini.
  3. Comece a interagir com sua instância do Looker usando linguagem natural diretamente no chat do Gemini Code Assist.

Código Claude

  1. Instale o Claude Code.
  2. Crie o arquivo .mcp.json na raiz do projeto, se ele não existir.
  3. Adicione a configuração a seguir, substituindo as variáveis de ambiente pelos seus valores e salve.
    • LOOKER_URL: o URL da sua instância do Looker.
    • CLIENT_ID e CLIENT_SECRET: a chave de API usada para acessar a API Looker.
    • VERIFY_SSL: true ou false, dependendo se você usa criptografia SSL para conectar seu banco de dados à sua instância do Looker.

      {
        "mcpServers": {
          "looker-toolbox": {
            "command": "./PATH/TO/toolbox",
            "args": ["--stdio", "--prebuilt", "looker"],
            "env": {
                "LOOKER_BASE_URL": "LOOKER_URL",
                "LOOKER_CLIENT_ID": "CLIENT_ID",
                "LOOKER_CLIENT_SECRET": "CLIENT_SECRET",
                "LOOKER_VERIFY_SSL": "VERIFY_SSL",
          }
          }
        }
      }
  

Claude Desktop

  1. Abra Claude Desktop e acesse Configurações.
  2. Na guia Desenvolvedor, clique em Editar configuração para abrir o arquivo de configuração.
  3. Adicione a configuração a seguir, substituindo as variáveis de ambiente pelos seus valores e salve.
    • LOOKER_URL: o URL da sua instância do Looker.
    • CLIENT_ID e CLIENT_SECRET: a chave de API usada para acessar a API Looker.
    • VERIFY_SSL: true ou false, dependendo se você usa criptografia SSL para conectar seu banco de dados à sua instância do Looker.

      {
        "mcpServers": {
          "looker-toolbox": {
            "command": "./PATH/TO/toolbox",
            "args": ["--stdio", "--prebuilt", "looker"],
            "env": {
                "LOOKER_BASE_URL": "LOOKER_URL",
                "LOOKER_CLIENT_ID": "CLIENT_ID",
                "LOOKER_CLIENT_SECRET": "CLIENT_SECRET",
                "LOOKER_VERIFY_SSL": "VERIFY_SSL",
          }
          }
        }
      }
  
  1. Reinicie o Claude Desktop.
  2. A nova tela de chat mostra um ícone de martelo (MCP) com o novo servidor MCP.

Cline

  1. Abra a extensão Cline no VS Code e clique no ícone Servidores MCP.
  2. Clique em Configurar servidores MCP para abrir o arquivo de configuração.
  3. Adicione a configuração a seguir, substituindo as variáveis de ambiente pelos seus valores e salve.
    • LOOKER_URL: o URL da sua instância do Looker.
    • CLIENT_ID e CLIENT_SECRET: a chave de API usada para acessar a API Looker.
    • VERIFY_SSL: true ou false, dependendo se você usa criptografia SSL para conectar seu banco de dados à sua instância do Looker.

      {
        "mcpServers": {
          "looker-toolbox": {
            "command": "./PATH/TO/toolbox",
            "args": ["--stdio", "--prebuilt", "looker"],
            "env": {
                "LOOKER_BASE_URL": "LOOKER_URL",
                "LOOKER_CLIENT_ID": "CLIENT_ID",
                "LOOKER_CLIENT_SECRET": "CLIENT_SECRET",
                "LOOKER_VERIFY_SSL": "VERIFY_SSL",
          }
          }
        }
      }
  

Um status ativo verde aparece depois que o servidor se conecta.

Cursor

  1. Crie o diretório .cursor na raiz do projeto, se ele não existir.
  2. Crie o arquivo .cursor/mcp.json, se ele não existir, e abra-o.
  3. Adicione a configuração a seguir, substituindo as variáveis de ambiente pelos seus valores e salve.
    • LOOKER_URL: o URL da sua instância do Looker.
    • CLIENT_ID e CLIENT_SECRET: a chave de API usada para acessar a API Looker.
    • VERIFY_SSL: true ou false, dependendo se você usa criptografia SSL para conectar seu banco de dados à sua instância do Looker.
      {
        "mcpServers": {
          "looker-toolbox": {
            "command": "./PATH/TO/toolbox",
            "args": ["--stdio", "--prebuilt", "looker"],
            "env": {
                "LOOKER_BASE_URL": "LOOKER_URL",
                "LOOKER_CLIENT_ID": "CLIENT_ID",
                "LOOKER_CLIENT_SECRET": "CLIENT_SECRET",
                "LOOKER_VERIFY_SSL": "VERIFY_SSL",
          }
          }
        }
      }
  
  1. Abra o Cursor e acesse Configurações > Configurações do cursor > MCP. Um status ativo verde aparece quando o servidor se conecta.

Visual Studio Code (Copilot)

  1. Abra o VS Code e crie o diretório .vscode na raiz do projeto, se ele não existir.
  2. Crie o arquivo .vscode/mcp.json, se ele não existir, e abra-o.
  3. Adicione a configuração a seguir, substituindo as variáveis de ambiente pelos seus valores e salve.
    • LOOKER_URL: o URL da sua instância do Looker.
    • CLIENT_ID e CLIENT_SECRET: a chave de API usada para acessar a API Looker.
    • VERIFY_SSL: true ou false, dependendo se você usa criptografia SSL para conectar seu banco de dados à sua instância do Looker.
      {
        "mcpServers": {
          "looker-toolbox": {
            "command": "./PATH/TO/toolbox",
            "args": ["--stdio", "--prebuilt", "looker"],
            "env": {
                "LOOKER_BASE_URL": "LOOKER_URL",
                "LOOKER_CLIENT_ID": "CLIENT_ID",
                "LOOKER_CLIENT_SECRET": "CLIENT_SECRET",
                "LOOKER_VERIFY_SSL": "VERIFY_SSL",
          }
          }
        }
      }
  

Windsurf

  1. Abra o Windsurf e acesse o assistente do Cascade.
  2. Clique no ícone do MCP e em Configurar para abrir o arquivo de configuração.
  3. Adicione a configuração a seguir, substituindo as variáveis de ambiente pelos seus valores e salve.
    • LOOKER_URL: o URL da sua instância do Looker.
    • CLIENT_ID e CLIENT_SECRET: a chave de API usada para acessar a API Looker.
    • VERIFY_SSL: true ou false, dependendo se você usa criptografia SSL para conectar seu banco de dados à sua instância do Looker.
      {
        "mcpServers": {
          "looker-toolbox": {
            "command": "./PATH/TO/toolbox",
            "args": ["--stdio", "--prebuilt", "looker"],
            "env": {
                "LOOKER_BASE_URL": "LOOKER_URL",
                "LOOKER_CLIENT_ID": "CLIENT_ID",
                "LOOKER_CLIENT_SECRET": "CLIENT_SECRET",
                "LOOKER_VERIFY_SSL": "VERIFY_SSL",
          }
          }
        }
      }
  

Usar ferramentas de IA

Sua ferramenta de IA agora está conectada ao Looker usando o MCP. Peça ao seu assistente de IA para listar modelos, análises, dimensões e métricas. Também é possível executar uma consulta recuperando o SQL de uma consulta ou executando um Look salvo.

As seguintes ferramentas estão disponíveis para o LLM:

Ferramentas de modelo e consulta do Looker

Essas ferramentas são usadas para receber informações sobre um modelo do Looker e executar consultas nesse modelo.

  • get_models: lista todos os modelos do LookML na sua instância do Looker.
  • get_explores: lista as análises em um determinado modelo.
  • get_dimensions: lista as dimensões em uma determinada análise.
  • get_measures: lista as métricas em uma determinada análise.
  • get_filters: lista os filtros em uma determinada análise.
  • get_parameters: lista os parâmetros em uma determinada análise.
  • query: executa uma consulta e retorna os dados.
  • query_sql: retorna o SQL gerado pelo Looker para uma consulta.
  • query_url: retorna um link para a consulta no Looker para mais exploração.

Ferramentas de conteúdo do Looker

Essas ferramentas recebem conteúdo salvo (Looks e dashboards) de uma instância do Looker e criam novo conteúdo salvo.

  • get_looks: retorna os Looks salvos que correspondem a um título ou descrição.
  • run_look: executa um Look salvo e retorna os dados.
  • make_look: cria um Look salvo no Looker e retorna o URL.
  • get_dashboards: retorna os dashboards salvos que correspondem a um título ou descrição.
  • make_dashboard: cria um dashboard salvo no Looker e retorna o URL.
  • add_dashboard_element: adiciona um bloco a um dashboard.

Ferramentas de integridade da instância do Looker

Essas ferramentas oferecem os mesmos algoritmos de verificação de integridade que a CLI popular Henry.

  • health_pulse: verifica a integridade de uma instância do Looker.
  • health_analyze: analisa o uso de um objeto do Looker.
  • health_vacuum: encontra elementos do LookML que podem não ser usados.

Ferramentas de criação do LookML

Essas ferramentas permitem que o autor grave e modifique arquivos do LookML, além de receber o esquema de banco de dados necessário para gravar o LookML de maneira eficaz.

  • dev_mode: ativa e desativa o modo de desenvolvimento para a sessão. A criação do LookML precisa ser feita no modo de desenvolvimento. As consultas executadas no modo de desenvolvimento usam o LookML modificado para que você possa testar o impacto das mudanças.
  • get_projects: recebe a lista de projetos do LookML disponíveis.
  • get_project_files: recebe a lista de arquivos do LookML em um projeto.
  • get_project_file: recebe o conteúdo de um arquivo do LookML.
  • create_project_file: cria um novo arquivo do LookML.
  • update_project_file: modifica um arquivo do LookML existente.
  • delete_project_file: exclui um arquivo do LookML.
  • get_connections: recebe a lista de conexões.
  • get_connection_schemas: recebe a lista de esquemas para uma conexão.
  • get_connection_databases: recebe a lista de bancos de dados para uma conexão.
  • get_connection_tables: recebe a lista de tabelas para uma conexão.
  • get_connection_table_columns: recebe a lista de colunas para uma tabela em uma conexão.