Use Looker with MCP, Gemini CLI and other Agents

This page shows you how to connect your Looker instance to various developer tools.

For the most powerful and integrated experience, we recommend using the dedicated Looker extension for Gemini CLI. Use Looker's semantic layer to provide the Gemini CLI with secure, governed, and on-demand access to trusted data, and accelerate workflows by automating the creation of reports, visualizations, and dashboards from natural language prompts. As Google Cloud's next-generation command-line interface, the Gemini CLI is the recommended tool for interacting with your Looker instances from the command line.

You can also connect other integrated development environments (IDEs) and developer tools that support the Model Context Protocol (MCP) by using the general-purpose MCP Toolbox for Databases. The MCP Toolbox is an open-source MCP server that simplifies connecting AI agents to your data by handling complexities like authentication and connection pooling, which lets you interact with your data using natural language directly from your IDE. For these tools, this method provides core database interaction capabilities.

About Gemini CLI and extensions

Gemini CLI is an open-source AI agent that's designed to accelerate development workflows by assisting with coding, debugging, data exploration, and content creation. Its mission is to provide an elegant agentic experience for interacting with data cloud services and popular open-source databases.

How extensions work

Gemini CLI is highly extensible, allowing for the addition of new tools and capabilities through extensions. These extensions are straightforward to install. You can load them from a GitHub URL, a local directory, or a configurable registry. These extensions provide a rich set of capabilities, including new tools, slash commands, and prompts to streamline your workflow.

Set up Looker

  1. Get a Looker Client ID and Client Secret. Follow the directions on the Looker API authentication documentation page.
  2. Have the base URL of your Looker instance available. It is likely something like https://looker.example.com. In some cases the API is listening at a different port, and you will need to use https://looker.example.com:19999 instead.

Install MCP Toolbox

  1. Download the latest version of MCP Toolbox as a binary. Select the binary that corresponds to your OS and CPU architecture. You must use MCP Toolbox version V0.14.0 or later.

    linux/amd64

    curl -O https://storage.googleapis.com/genai-toolbox/v0.14.0/linux/amd64/toolbox

    darwin/arm64

    curl -O https://storage.googleapis.com/genai-toolbox/v0.14.0/darwin/arm64/toolbox

    darwin/amd64

    curl -O https://storage.googleapis.com/genai-toolbox/v0.14.0/darwin/amd64/toolbox

    windows/amd64

    curl -O https://storage.googleapis.com/genai-toolbox/v0.14.0/windows/amd64/toolbox.exe

  2. Make the binary an executable.

    chmod +x toolbox
    
  3. Verify the installation.

    ./toolbox --version
    

Configure the MCP client

This section describes how to configure various developer tools to connect to your Looker instance using the MCP Toolbox for Databases. The toolbox acts as an open-source Model Context Protocol (MCP) server that sits between your IDE and your database, providing a secure and efficient control plane for your AI tools. Select the tab for your specific tool to see the configuration instructions.

Gemini CLI

  1. Install the Gemini CLI.
  2. Install the Looker extension for Gemini CLI from the GitHub repository using the following command:
    gemini extensions install https://github.com/gemini-cli-extensions/looker
    
  3. Set environment variables to connect to your Looker instance, replacing the following environment variables with your values:
    • LOOKER_URL: The URL of your Looker instance.
    • CLIENT_ID and CLIENT_SECRET: The API key that is used to access the Looker API.
    • VERIFY_SSL: Either true or false, depending on whether you use SSL encryption to connect your database to your Looker instance.
    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. Start the Gemini CLI in interactive mode:
    gemini
    
    The CLI automatically loads the Looker extension for Gemini CLI extension and its tools, which you can use to interact with your Looker instance.

Gemini Code Assist

We recommend to configure Gemini Code Assist to use the Gemini CLI. This approach removes the need to manually configure an MCP server.

  1. Make sure that you have installed and configured the Gemini CLI and the looker extension.
  2. Configure Gemini Code Assist to use the Gemini CLI.
  3. Start interacting with your Looker instance using natural language directly within the Gemini Code Assist chat.

Claude code

  1. Install Claude Code.
  2. Create the .mcp.json file in your project root, if it doesn't exist.
  3. Add the following configuration, replacing the following environment variables with your values, and then save.
    • LOOKER_URL: The URL of your Looker instance.
    • CLIENT_ID and CLIENT_SECRET: The API key that is used to access the Looker API.
    • VERIFY_SSL: Either true or false, depending on whether you use SSL encryption to connect your database to your Looker instance.

      {
        "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. Open Claude Desktop and navigate to Settings.
  2. In the Developer tab, click Edit Config to open the configuration file.
  3. Add the following configuration, replacing the following environment variables with your values, and then save.
    • LOOKER_URL: The URL of your Looker instance.
    • CLIENT_ID and CLIENT_SECRET: The API key that is used to access the Looker API.
    • VERIFY_SSL: Either true or false, depending on whether you use SSL encryption to connect your database to your Looker instance.

      {
        "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. Restart Claude Desktop.
  2. The new chat screen displays a hammer (MCP) icon with the new MCP server.

Cline

  1. Open the Cline extension in VS Code and click the MCP Servers icon.
  2. Click Configure MCP Servers to open the configuration file.
  3. Add the following configuration, replacing the following environment variables with your values, and then save.
    • LOOKER_URL: The URL of your Looker instance.
    • CLIENT_ID and CLIENT_SECRET: The API key that is used to access the Looker API.
    • VERIFY_SSL: Either true or false, depending on whether you use SSL encryption to connect your database to your Looker instance.

      {
        "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",
          }
          }
        }
      }
  

A green active status appears after the server connects successfully.

Cursor

  1. Create the .cursor directory in your project root if it doesn't exist.
  2. Create the .cursor/mcp.json file if it doesn't exist, and open it.
  3. Add the following configuration, replacing the following environment variables with your values, and then save.
    • LOOKER_URL: The URL of your Looker instance.
    • CLIENT_ID and CLIENT_SECRET: The API key that is used to access the Looker API.
    • VERIFY_SSL: Either true or false, depending on whether you use SSL encryption to connect your database to your Looker instance.
      {
        "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. Open Cursor and navigate to Settings > Cursor Settings > MCP. A green active status appears when the server connects.

Visual Studio Code (Copilot)

  1. Open VS Code and create the .vscode directory in your project root if it doesn't exist.
  2. Create the .vscode/mcp.json file if it doesn't exist, and open it.
  3. Add the following configuration, replacing the following environment variables with your values, and then save.
    • LOOKER_URL: The URL of your Looker instance.
    • CLIENT_ID and CLIENT_SECRET: The API key that is used to access the Looker API.
    • VERIFY_SSL: Either true or false, depending on whether you use SSL encryption to connect your database to your Looker instance.
      {
        "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. Open Windsurf and navigate to Cascade assistant.
  2. Click the MCP icon, then click Configure to open the configuration file.
  3. Add the following configuration, replacing the following environment variables with your values, and then save.
    • LOOKER_URL: The URL of your Looker instance.
    • CLIENT_ID and CLIENT_SECRET: The API key that is used to access the Looker API.
    • VERIFY_SSL: Either true or false, depending on whether you use SSL encryption to connect your database to your Looker instance.
      {
        "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",
          }
          }
        }
      }
  

Use AI tools

Your AI tool is now connected to Looker using MCP. Try asking your AI assistant to list models, Explores, dimensions, and measures. You can also run a query by retrieving the SQL for a query or running a saved Look.

The following tools are available to the LLM:

  • get_models: List all LookML models on your Looker instance.
  • get_explores: List the explores in a given model.
  • get_dimensions: List the dimensions in a given Explore.
  • get_measures: List the measures in a given Explore.
  • get_filters: List the filters in a given Explore.
  • get_parameters: List the parameters in a given Explore.
  • query: Run a query and return the data.
  • query_sql: Return the SQL that is generated by Looker for a query.
  • query_url: Return a link to the query in Looker for further exploration.
  • get_looks: Return the saved Looks that match a title or description.
  • run_look: Run a saved Look and return the data.
  • make_look: Create a saved Look in Looker and return the URL.
  • get_dashboards: Return the saved dashboards that match a title or description.
  • make_dashboard: Create a saved dashboard in Looker and return the URL.
  • add_dashboard_element: Add a tile to a dashboard.