DEV Community

xbill for Google Developer Experts

Posted on • Originally published at xbill999.Medium on

MCP Configuration for Looker with Antigravity CLI

This article covers the MCP setup and configuration for using Looker and underlying Gemini LLM with the Antigravity CLI to enhance and extend Looker operations over MCP.

Deja Vu — What is Old is New!

This paper is a re-visiting of the original article which used Gemini CLI:

MCP Configuration for Looker with Gemini CLI

In this updated version, the Antigravity CLI is used to integrate Looker functionality.

What is Looker?

Looker is a cloud-based business intelligence (BI) and data analytics platform owned by Google Cloud that enables organizations to analyze, visualize, and share data in real-time. It uses a unique modeling language called LookML to define data relationships, offering a centralized “single source of truth” for metrics. Looker focuses on embedded analytics and live data exploration rather than storing data itself.

More information is available here:

Looker business intelligence platform embedded analytics

Key Features and Capabilities

  • LookML (Looker Modeling Language): A code-based modeling language that allows data analysts to define dimensions, aggregates, and calculations, ensuring consistent metrics across the organization.
  • Live Data Connection: Looker does not import data; it queries your data warehouse directly (e.g., BigQuery, Snowflake, Redshift) in real-time, ensuring data is always up to date.
  • Embedded Analytics: Looker can be embedded into other applications, websites, or portals, allowing businesses to provide data insights directly within their own tools.
  • Self-Service BI: Users can explore data, create visualizations, and build custom dashboards using a browser-based interface without needing deep SQL knowledge.
  • Workflow Integration: Actionable data insights can be sent directly to other applications, such as triggering an email based on specific business rules.

Looker? I thought Big Query Did everything!

Semantic layer is where all the cool kids hang out.

What is MCP?

Unless you have been living off grid without Internet- MCP is the new universal connector and next “Big Thing”.

More information is here:

What is Model Context Protocol (MCP)? A guide

Google MCP Strategy

Google has gone all-in for all the core Cloud services to provide connections over MCP. An overview is here:

Google Cloud MCP servers overview | Google Cloud Documentation

MCP Toolbox

MCP Toolbox is the “swiss army” knife that connects your data sources to MCP.

Use Looker with MCP, Gemini CLI and other Agents | Google Cloud Documentation

Looker MCP Setup

For a mode detailed step by step setup instructions — there is a full codelab that goes through the setup:

Connect Gemini CLI to Looker with MCP Toolbox | Google Codelabs

and a further deep dive is here:

Use Looker with MCP, Gemini CLI and other Agents | Google Cloud Documentation

Antigravity CLI

Antigravity CLI is the follow-on successor to Gemini CLI- the terminal driven, agent assisted coding tool.

Full details on installing Antigravity CLI are here:

Getting Started with Antigravity CLI

Testing the Antigravity CLI Environment

Once you have all the tools in place- you can test the startup of Antigravity CLI.

You will need to authenticate with a Google Cloud Project or your Google Account:

agy
Enter fullscreen mode Exit fullscreen mode

This will start the interface:

Full Installation Instructions

The detailed installation instructions for Antigravity CLI are here:

Getting Started with Antigravity CLI

Google Skills Repository

Google Skills give your MCP client well known approaches to work with the core Google products including Big Query.

The full details are here:

Level Up Your Agents: Announcing Google's Official Skills Repository | Google Cloud Blog

To install the Skills in Gemini CLI:

npx skills install github.com/google/skills
Enter fullscreen mode Exit fullscreen mode

What you talkin ‘bout Willis?

That was a lot of setup! But wait- there is more! So what is different about this lab compared to all the others out there?

This demo is one of the first deep dives into configuring Looker for MCP. Antigravity CLI provides a complete working environment with a full MCP client. Looker exposes the key features of the platform over the MCP layer.

Where do I start?

The strategy for configuring Looker with MCP is a incremental step by step approach.

First, the Looker configuration settings are retrieved. Then, these settings are used to configure Antigravity CLI. Finally- Antigravity CLI is used as a MCP client to the Looker environment. Several samples are run using the Looker MCP Tools directly from Antigravity CLI.

Looker Admin Setup

For Looker (Google Cloud core) — Admins do not directly create keys for standard users; instead, they enable the permission for users to manage their own.

Navigate to the Looker Admin Users page (Admin > Users).

  1. Click Edit next to the specific user.
  2. Locate the API Keys field and toggle it to Enabled.
  3. Once enabled, the user can generate their own keys by going to their personal Account settings page (User Icon > Account > API Keys).

Looker Instance URL

To connect to the Looker setup — you need to derive your Looker Base URL. Typically this will be the hostname in the Looker app domain.

For the test instance- this is an example of what the URL looks like (note the HTTPS prefix and no trailing slash):

https://780eb09e-7dab-4076-9ec1-ecf9d8414630.looker.app
Enter fullscreen mode Exit fullscreen mode

Looker User Setup

First Login to your Looker User environment. Go to Profile->Account (in upper right hand side) and bring up the user settings:

If the API Key box is unavailable- contact your Admin to enable the API setup on a per user basis.

Once you have access to create API keys- the settings will look similar to this:

Then click the “Manage” button to setup the API Keys:

Click Create New API key to generate the API Key. Save the Client ID and Client Secret.

Setup the Basic Antigravity CLI Environment

At this point you should have a working Shell environment and a working Antigravity CLI installation. All of the relevant code examples and documentation is available in GitHub.

The next step is to clone the GitHub repository to your local environment:

cd ~
git clone https://github.com/xbill9/looker-mcp-agy
cd looker-mcp-agy
Enter fullscreen mode Exit fullscreen mode

Then run init.sh from the cloned directory.

The script will attempt to determine your shell environment and set the correct variables:

source init.sh
Enter fullscreen mode Exit fullscreen mode

If your session times out or you need to re-authenticate- you can run the set_env.sh script to reset your environment variables:

source set_env.sh
Enter fullscreen mode Exit fullscreen mode

Variables like PROJECT_ID need to be setup for use in the various build scripts- so the set_env script can be used to reset the environment if you time-out.

Initial Connection

Start up Antigravity CLI after all the environment variables have been set:

xbill@penguin:~/looker-mcp-agy$ agy

Enter fullscreen mode Exit fullscreen mode

Then use the /mcp list :

> list looker MCP tools

41.0k in | 728 out | 667 thinking
● ListDir(/home/xbill/.gemini/antigravity-cli/mcp/looker-toolbox) (ctrl+o to expand)
  Here is a list of the available tools provided by the Looker MCP Toolbox ( looker-toolbox ), organized by category:

  ### 1. Project & File Management
  • get_projects : Retrieve available Looker projects.
  • get_project_files : List files within a Looker project.
  • get_project_file : Retrieve the content of a specific file.
  • create_project_file : Create a new file within a project.
  • update_project_file : Update an existing project file.
  • delete_project_file : Delete a file from a project.
  • get_project_directories : Get the directory structure of a project.
  • create_project_directory : Create a new directory within a project.
  • delete_project_directory : Delete a directory from a project.
  • validate_project : Run LookML validator on a project.
  ### 2. Git Integration

  • get_git_branch : Get current active Git branch for a project.
  • list_git_branches : List Git branches associated with a project.
  • create_git_branch : Create a new Git branch.
  • switch_git_branch : Switch development to another Git branch.
  • delete_git_branch : Delete a Git branch.

  ### 3. Database Connections & Schema Discovery

  • get_connections : List active database connections in Looker.
  • get_connection_databases : List databases under a specific connection.
  • get_connection_schemas : Get schemas for a specific connection/database.
  • get_connection_tables : Get tables under a connection schema.
  • get_connection_table_columns : Retrieve columns and metadata for a database table.
  • create_view_from_table : Generate a basic LookML view from a database table.
  ### 4. LookML Metadata (Models, Explores, Fields)
  • get_explores : List Explores within a LookML model.
  • get_dimensions : Retrieve dimensions for a specific Explore.
  • get_measures : Retrieve measures for a specific Explore.
  • get_parameters : Retrieve parameters defined in an Explore.
  • get_filters : Retrieve active filters defined in an Explore.

  ### 5. Queries & Execution

  • query : Run a structured Looker query.
  • query_sql : Run raw SQL queries against a connection.
  • query_url : Execute a Looker query using an expanded Looker query URL.

  ### 6. Dashboards, Looks & Elements

  • get_models : List available LookML models.
  • get_dashboards : List or search for Looker dashboards.
  • make_dashboard : Create a new Looker dashboard.
  • run_dashboard : Execute and fetch results for a dashboard.
  • add_dashboard_element : Add a visual element (tile) to a dashboard.
  • add_dashboard_filter : Add a filter to a dashboard.
  • get_looks : List or search for Looks.
  • make_look : Create a new Look.
  • run_look : Run an existing Look and return the results.

  ### 7. Testing & Validation

  • get_lookml_tests : Retrieve LookML unit tests defined in a project.
  • run_lookml_tests : Run unit tests on LookML code.

  ### 8. Embedding & Access

  • generate_embed_url : Generate signed embed URLs for embedding Looker content.
  • dev_mode : Toggle Looker Developer Mode on/off.

  ### 9. System Health & Maintenance

  • health_analyze : Analyze Looker system health and performance.
  • health_pulse : Run high-level system checks.
  • health_vacuum : Perform vacuum operations to clean up system metadata.
Enter fullscreen mode Exit fullscreen mode

All Right Already! Can you actually do something with Looker?

At this point- Antigravity CLI is setup with the MCP Toolbox and has direct access to all the Looker MCP Tools. Any operations with the Tools come back directly into the Antigravity CLI Context.

To get an overview of Dashboards:

● looker-toolbox/get_dashboards(Get dashboards) (ctrl+o to expand)

  Here are the saved dashboards found in your Looker instance:

   ID | Title | Description
  ----|---------------------------------------------------------|-----------------------------------------------------------
   2 | 1) Business Pulse - Basic visualization examples | None
   1 | 2) Business Pulse - Intermediate visualization examples | None
   3 | 3) Business Pulse - Advanced visualization examples | None
   4 | Agreement for Shared Use of this Looker Instance | None
   13 | E-commerce Overview | A custom dashboard showing key e-commerce metrics.
   7 | Inventory | None
   11 | My Dashboard | None
   9 | Self-serve industry | None
   5 | test | None
   6 | test | None
   12 | test-orders | None
   8 | TestJC | None
   10 | TestOrdersByCity | None
   15 | ☁️ Cloud Optimization Hub | Operationalizing AI-driven cost savings from the Google
      | | Cloud Recommender API.
   14 | 💎 VIP Customer Intelligence | Real-time insights into our top-performing revenue
      | | segments, leveraging Advanced LTV and Ranking logic. │
Enter fullscreen mode Exit fullscreen mode

You can also get models:

> get_models

● looker-toolbox/get_models(Get models) (ctrl+o to expand)

  Here are the LookML models configured in your Looker instance:

   Model Name | Label | Project Name | Connections
  -------------------------|------------------------|----------------------------------|------------------------------------
   basic_ecomm | Z) Sample LookML | sample_thelook_ecommerce | default_bigquery_connection
   intermediate_ecomm | Z) Sample LookML | sample_thelook_ecommerce | default_bigquery_connection
   advanced_ecomm | Z) Sample LookML | sample_thelook_ecommerce | default_bigquery_connection
   extension-api-explorer | Extension-api-explorer | marketplace_extension_api_explor | default_bigquery_connection
                           | | er |
   data_block_acs_bigquery | Census Data Block | marketplace_acs_census-v2 | american-community-survey
   gcp_billing_block | Google Cloud Billing | marketplace_gcp-billing | billing-export-sample
   chrome-ux-block | Chrome-ux-block | marketplace_chrome-ux-block | chrome-ux
   london_bicycles | London Bicycles | london_bicycles | london-bicycles
   gde_rk | Gde Rk | gde_rk | default_bigquery_connection,
                           | | | american-community-survey, gcp-
                           | | | billing-export, billing-export-
                           | | | sample, london-bicycles, chrome-
                           | | | ux, crux-demo,
                           | | | self_service_connection
   data-dictionary | Data-dictionary | marketplace_extension_data_dicti | default_bigquery_connection
                           | | onary |
   bq_agent_analytics | Bq Agent Analytics | agent_events | default_bigquery_connection
   agent-analytics | Agent-analytics | marketplace_agent_analytics | default_bigquery_connection
Enter fullscreen mode Exit fullscreen mode

And drill into the details:

> drill into E-commerce Overview

23.6k in | 508 out | 262 thinking
● looker-toolbox/run_dashboard(Run dashboard) (ctrl+o to expand)

  Here is the drilled-down detailed information for the E-commerce Overview dashboard (ID: 13):
  ### Dashboard Metadata
  • Title: E-commerce Overview
  • Description: A custom dashboard showing key e-commerce metrics.
  ──────
  ### Tile 1: Total Sales by Country

  This tile shows the distribution of order sale prices aggregated by the customer's country.
   Country | Total Sales ($)
  -------------------------------------------------------------|------------------------------------------------------------
   🇨🇳 China | $3,644,758.69
   🇺🇸 United States | $2,456,702.48
   🇧🇷 Brasil | $1,576,687.84
   🇰🇷 South Korea | $574,673.69
   🇫🇷 France | $508,862.30
   🇬🇧 United Kingdom | $499,116.90
   🇩🇪 Germany | $473,842.69
   🇪🇸 Spain | $419,638.62
   🇯🇵 Japan | $269,667.42
   🇦🇺 Australia | $242,649.16
   🇧🇪 Belgium | $131,708.43
   🇵🇱 Poland | $31,306.44
   🇨🇴 Colombia | $1,084.87
   🇦🇹 Austria | $531.15
   🇪🇸 España | $58.55
  ──────
  ### Tile 2: Top 10 VIP Customers

  This tile lists the highest-value individual customers based on their cumulative purchase value.

   Rank | Customer Name | Total Sales ($)
  ----------------------------------------|----------------------------------------|----------------------------------------
   1 | Michael Johnson | $5,953.97
   2 | James Smith | $5,668.41
   3 | Michael Williams | $5,527.92
   4 | Michael Smith | $5,305.61
   5 | Michael Brown | $5,158.41
   6 | James Brown | $4,973.58
   7 | David Jones | $4,371.31
   8 | Jennifer Smith | $4,000.41
   9 | Michael Jones | $3,860.22
   10 | Robert Williams | $3,698.10

───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
>
Enter fullscreen mode Exit fullscreen mode

and dig deeper on the details:

> create a list of top customers by country

133.4k in | 6.6k out | 3.2k thinking
● Bash(python3 /home/xbill/.gemini/antigravity-cli/brain/7fc1f8be-df53-450c-8467-e4c1751d34c0/scratch/top_...) (ctrl+o to
expand)

Here is the list of Top VIP Customers (highest spending) grouped by country, extracted from globally-ranked high-value e-
  commerce orders:
  ### 🇺🇸 United States
   Rank | Customer Name (ID) | Total Spend ($)
  ----------------------------------------|----------------------------------------|----------------------------------------
   1 | Francis Wiley (#39504) | $1,487.11
   2 | Ryan Griffin (#75188) | $1,459.95
   3 | Chase Winters (#11172) | $1,368.07
   4 | Robert Sanford (#59187) | $1,356.82
   5 | Gabriel Fletcher (#99218) | $1,338.77
  ──────
  ### 🇨🇳 China
   Rank | Customer Name (ID) | Total Spend ($)
  ----------------------------------------|----------------------------------------|----------------------------------------
   1 | Jesus Stanton (#14997) | $1,573.94
   2 | Jason Williams (#6329) | $1,539.48
   3 | Crystal Chandler (#16853) | $1,391.88
   4 | Shane Savage (#4318) | $1,354.23
   5 | George Monroe (#57053) | $1,283.95
  ──────
  ### 🇧🇷 Brasil
   Rank | Customer Name (ID) | Total Spend ($)
  ----------------------------------------|----------------------------------------|----------------------------------------
   1 | Ernest Marquez (#63421) | $1,667.99
   2 | Jack Perkins (#45560) | $1,356.89
   3 | Amanda Mckinney (#58988) | $1,326.32
   4 | Katherine Hunter (#89606) | $1,317.49
   5 | Christopher Moore (#85521) | $1,302.18
  ──────

Enter fullscreen mode Exit fullscreen mode

But Wait! There’s More!

Once the Tools are exposed by MCP -they have full access to Looker resources:

✦ I've retrieved the structure of the "Business Pulse - Basic visualization examples" dashboard (ID: 2). It includes several key performance
  indicators (KPIs) and visualizations:

  Dashboard Tiles:
   1. Total Items: Overall volume of items.
   2. Average Sale Price: The mean price per item.
   3. Unique Users: Count of distinct customers.
   4. # of Order Items vs Avg Sale Price Over Time: Correlation and trend analysis.
   5. New Users with Orders: Tracking customer acquisition.
   6. Highest Spending Users: Identification of VIP customers.
   7. New Users by Date and Source: Growth by marketing channel.
   8. Users by Traffic Source and Country: Geographical and channel distribution.

  Deep Dive: Highest Spending Users
  Let's look at the data for one of these tiles—"Highest Spending Users"—to see who the top customers are:


  Analyzing Top Customers: Analyzing the 'Highest Spending Users' tile from the dashboard.
Enter fullscreen mode Exit fullscreen mode

and find the biggest customers:

Deep Dive: Highest Spending Users
  Let's look at the data for one of these tiles—"Highest Spending Users"—to see who the top customers are:


  Analyzing Top Customers: Analyzing the 'Highest Spending Users' tile from the dashboard.

╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ ✓ query (looker-toolbox MCP Server) {"model":"basic_ecomm","fields":["basic_users.first_name","basic_users.last_name","basic_order_items… │
│ │
│ {"basic_order_items.total_sale_price":6942.0700097084045,"basic_users.first_name":"Michael","basic_users.last_name":"Smith"} │
│ {"basic_order_items.total_sale_price":4528.939993858337,"basic_users.first_name":"James","basic_users.last_name":"Smith"} │
│ {"basic_order_items.total_sale_price":4340.889998435974,"basic_users.first_name":"Michael","basic_users.last_name":"Johnson"} │
│ {"basic_order_items.total_sale_price":4325.510012626648,"basic_users.first_name":"Jennifer","basic_users.last_name":"Smith"} │
│ {"basic_order_items.total_sale_price":4184.879993438721,"basic_users.first_name":"Michael","basic_users.last_name":"Williams"} │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

✦ The top 5 highest spending users in the system are:

  ┌──────────────────┬─────────────┐
  │ Name │ Total Spent │
  ├──────────────────┼─────────────┤
  │ Michael Smith │ $6,942.07 │
  │ James Smith │ $4,528.94 │
  │ Michael Johnson │ $4,340.89 │
  │ Jennifer Smith │ $4,325.51 │
  │ Michael Williams │ $4,184.88 │
  └──────────────────┴─────────────┘
Enter fullscreen mode Exit fullscreen mode

And build a Dashboard:

make_dashboard of top users and countries

● looker-toolbox/add_dashboard_element(Add dashboard element) (ctrl+o to expand)

  I have successfully created the dashboard "Top Users & Countries Overview" and populated it with the relevant tiles.

  ### 📊 Dashboard Summary: Top Users & Countries Overview

  • Dashboard ID: 16 
  • Looker URL: /dashboards/cwHC8jENHqwfZpHlNgZsga 
  • Description: An executive dashboard highlighting top spenders and high-performing countries globally.
  ──────
  ### 🧱 Added Dashboard Tiles (Elements)

  #### 1. Total Sales by Country

  • Description: Lists sales value aggregated by country to showcase global geographic performance.
  • Fields: basic_users.country , basic_order_items.total_sale_price 
  • Sorting: Sorted by total sales in descending order.

  #### 2. Top VIP Customers

  • Description: Displays the top 10 highest-value individual spenders across all regions.
  • Fields: basic_users.first_name , basic_users.last_name , basic_order_items.total_sale_price 
  • Sorting: Sorted by total spend in descending order.
Enter fullscreen mode Exit fullscreen mode

This will look similar to :

LookML

Antigravity CLI has access to the full data over MCP:

> get_explores , get_models , get_measures , 
                              | get_dimensions , get_filters , get_parameters of basic_ecomm
63.1k in | 1.2k out | 369 thinking
● looker-toolbox/get_parameters(Get parameters) (ctrl+o to expand)

  Here are the explores, models, measures, dimensions, filters, and parameters defined for the basic_ecomm model:
  ### 1. Model
  • Model Name: basic_ecomm 
  • Project: sample_thelook_ecommerce 
  • Label: Z) Sample LookML
  ──────
  ### 2. Explores
  There is 1 explore defined within this model:

  • basic_order_items (Label: "1) Basic Ecommerce", Group Label: "Z) Sample LookML")
  ──────
  ### 3. Dimensions
  Below is the list of dimensions available in the basic_order_items explore, grouped by their LookML view:
  #### Basic Order Items View ( basic_order_items )
  • basic_order_items.id (ID - Number)
  • basic_order_items.order_id (Order ID - Number)
  • basic_order_items.product_id (Product ID - Number)
  • basic_order_items.user_id (User ID - Number)
  • basic_order_items.inventory_item_id (Inventory Item ID - Number)
  • basic_order_items.sale_price (Sale Price - Number)
  • basic_order_items.status (Status - String)
  • basic_order_items.is_returned_or_cancelled (Is Returned or Cancelled - String)
  • Timestamps & Dates:
      • created_at (Date, Month, Quarter, Time, Week, Year)
      • delivered_at (Date, Month, Quarter, Time, Week, Year)
      • shipped_at (Date, Month, Quarter, Time, Week, Year)
      • returned_at (Date, Month, Quarter, Time, Week, Year)

  #### Basic Users View ( basic_users )
  • basic_users.id (ID - Number)
  • basic_users.age (Age - Number)
  • basic_users.gender (Gender - String)
  • basic_users.email (Email - String)
  • basic_users.first_name (First Name - String)
  • basic_users.last_name (Last Name - String)
  • basic_users.street_address (Street Address - String)
  • basic_users.city (City - String)
  • basic_users.state (State - String)
  • basic_users.postal_code (Postal Code - String)
  • basic_users.country (Country - String)
  • basic_users.latitude (Latitude - Number)
  • basic_users.longitude (Longitude - Number)
  • basic_users.traffic_source (Traffic Source - String)
  • Timestamps & Dates:
      • created_at (Date, Month, Quarter, Time, Week, Year)

  ──────
  ### 4. Measures

  The following aggregate metrics are available:

  • basic_order_items.count : # of Order Items (Type: count )
  • basic_order_items.average_sale_price : Average Sale Price (Type: average )
  • basic_order_items.total_sale_price : Total Sale Price (Type: sum )
  • basic_users.count : # of Users (Type: count_distinct )
  ──────
  ### 5. Filters & Parameters

  • Filters: None defined explicitly via the filter: LookML parameter (Note: any standard dimension above can still be
  used for filtering).
  • Parameters: None defined.

Enter fullscreen mode Exit fullscreen mode

and a deep dive into the Basic Ecommerce data:

> Performing a deep dive into the basic_ecomm model reveals a foundational LookML structure designed for ecommerce analysis.
  It centers around the
    basic_order_items explore, which joins order transactional data with user demographic information.

  That is a is very accurate and precise synthesis.

  The basic_order_items explore establishes a critical relationship: connecting transactional line-items (like status,
  sale prices, and order dates) directly with the demographic profile of the customer who made the purchase (their age,
  location, and traffic source). This enables answering fundamental business questions such as:

  • Which user acquisition channels (traffic sources) yield the highest total or average sale price?
  • How do sales trends vary across different countries or states?
  • What is the distribution of orders and average spending across different age groups or genders?

Enter fullscreen mode Exit fullscreen mode

One Last Dashboard Example

Antigravity CLI was prompted to build out a “Cool” dashboard:

✦ I have created the 💎 VIP Customer Intelligence dashboard. This dashboard leverages the Advanced Ecommerce Model to pull live insights about
  your top revenue-generating customers.
Enter fullscreen mode Exit fullscreen mode

With a full recap:

✦ Running the VIP Customer List Look provides a fascinating point of comparison to our automated dashboard. While the dashboard focused on
  aggregated patterns and behavioral segments, this Look is a surgical list of individual performance.
Enter fullscreen mode Exit fullscreen mode

The final results!

Final Code Review

As a final step — Antigravity CLI was used for a full code review of the project:

✦ This project, called the "MCP Toolbox," is a framework for creating and exposing "tools" and "skills" that interact with a variety of data
  sources and cloud services, with a primary focus on Google Cloud and Looker.

  Here's a breakdown of its key components and purpose:

* Core Engine: The heart of the project is a command-line binary named toolbox. This program can be run as a server to expose a set of
     configured tools and skills through an API.
   * Tools: These are the basic building blocks of the system, providing direct integrations with services like databases (e.g., AlloyDB,
     BigQuery, Cloud SQL, Spanner) and other platforms like Looker. The toolbox can be configured with a wide range of pre-built tools or custom
     tools defined in YAML files.
   * Skills: "Skills" are a higher-level abstraction built on top of the tools. They are defined in markdown files and provide documentation,
     examples, and orchestration for more complex tasks. The project includes a rich library of skills for interacting with Google Cloud services
     like GKE, Firebase, and more.
   * AI-Powered: The architecture and naming ("Model-Client-Proxy") strongly suggest that this toolbox is designed to be used by a large language
     model or an AI agent. The "skills" provide a natural language interface that an AI can easily understand and use to perform actions on behalf
     of a user.
   * Environment and Configuration: The project includes shell scripts (init.sh, set_env.sh) to simplify the setup process, including
     authentication with Google Cloud, configuration of Looker credentials, and setting up the necessary environment variables to run the toolbox.

In essence, the MCP Toolbox acts as a bridge between a generative AI model and a wide range of external services, enabling the AI to perform
  complex, real-world tasks in response to user requests, particularly in the domain of data analysis and cloud infrastructure management.
Enter fullscreen mode Exit fullscreen mode

Summary

Antigravity CLI was configured as a Looker MCP client using the MCP Toolbox. Then, the MCP connection was used to connect to the Looker Instance and test basic operations. Finally, Antigravity CLI was used for a complete project code review.

Top comments (0)