# Metabase Analytics MCP

> Metabase (Business Intelligence & Analytics) connects your agent directly to your entire BI environment, letting you manage reports and data visualizations through plain conversation. Use it to list dashboards, retrieve underlying logic for any card, audit reporting structures, or search across all your connected databases without ever opening the Metabase GUI.

## Overview
- **Category:** brain-trust
- **Price:** Free
- **Tags:** data-visualization, sql-queries, dashboarding, data-exploration, business-insights, open-source

## Description

This MCP lets your AI client take full control of your enterprise business intelligence tools. You stop clicking through menus and start talking to your data. Need to know what numbers on a dashboard are based on? Instead of manually navigating deep into settings, you simply ask your agent. It handles the audit process, pulling up the exact underlying logic or SQL definitions for any card. Plus, it helps you map out your whole reporting structure by listing all available dashboards and exploring collection folders. You can even find raw data warehouse connections by running a database inventory check. Because Vinkius hosts this MCP, you get one connection point to manage everything—from dashboard layouts to global content searches—all through natural language.

It's about turning complex reporting management into a simple conversation.

## Tools

### list_dashboards
Pulls a list of all available dashboard reporting panels within Metabase.

### get_dashboard
Retrieves the detailed layout structure and components for a specific dashboard.

### list_cards
Returns a list of raw questions or data visualizations (cards) stored inside Metabase.

### get_card
Fetches the exact mapping logic, including underlying SQL, for one specific BI card.

### list_collections
Lists the high-level structural folders (collections) that organize your reports and data assets.

### list_databases
Enumerate all physical database connections and sources Metabase can query.

### search_content
Performs a global search to find any reporting entity, dashboard, or data table matching provided keywords.

## Prompt Examples

**Prompt:** 
```
List the last 5 dashboards created in my Metabase instance
```

**Response:** 
```
I've retrieved the 5 most recent dashboards. Highlights include 'Q1 Sales Overview' (ID: 123), 'User Engagement Deep-Dive' (ID: 456), and 'Inventory Health' (ID: 789). Would you like to see the cards attached to the sales overview?
```

**Prompt:** 
```
Search for any Metabase content related to 'Revenue'
```

**Response:** 
```
Searching… I've identified several entities: 1) Dashboard 'Annual Revenue Breakdown' (ID: 987), 2) Card 'Monthly Recurring Revenue' (ID: 654), and 3) Table 'public.revenue_events'. Which one would you like to inspect further?
```

**Prompt:** 
```
Show me the configuration for card ID '654'
```

**Response:** 
```
Retrieving card metadata… For 'Monthly Recurring Revenue' (ID: 654), the visualization type is 'Line Chart' and it queries the 'stripe_data' database. The underlying logic uses a filtered aggregation on the 'invoices' table. Would you like to see the full structural JSON?
```

## Capabilities

### List and retrieve dashboards
You can get a list of all available reports, or pull detailed layouts for specific dashboards to see how they are structured.

### Audit data card logic
Fetch the precise underlying SQL queries or visualization definitions that power any key metric (card) on a dashboard.

### Search across all content
Run global searches to quickly locate dashboards, cards, or data tables matching specific keywords anywhere in your Metabase instance.

### Map reporting folders and databases
List the hierarchical collections (folders) holding reports and enumerate all physical database connections available for querying.

## Use Cases

### Debugging a financial report
A Business Analyst sees a revenue number that is unexpectedly low. They ask their agent, 'What logic powers this metric?' The agent uses get_card to retrieve the underlying SQL query and shows them it's accidentally filtered by an old date range.

### Onboarding new team members
A Data Manager needs to train a junior analyst. They use list_collections and list_databases to generate a clean inventory, showing the junior worker exactly which data sources are available and how the reporting folders are organized.

### Finding historical reports
A team lead needs a report from Q3 last year but can't remember if it was saved in 'Finance' or 'Marketing'. They use search_content, which pulls up the dashboard name and ID regardless of where it was filed.

### Pre-development data audit
An Analytics Engineer is planning a new report. Instead of manually testing connections, they run list_databases to confirm all necessary physical warehouse integrations are visible and ready for querying in Metabase.

## Benefits

- Stop guessing where a report lives. Use the global content search tool to locate dashboards, cards, or data tables instantly, saving you hours of manual navigation through collections.
- Know exactly how every number is calculated. When a business user questions a metric, use get_card to audit the underlying SQL logic and visualization definitions immediately.
- Map out your entire BI structure efficiently. You can list all managed databases and check collection hierarchies using list_databases and list_collections, giving you an instant inventory view.
- See everything at once. Instead of clicking through tabs, use list_dashboards to get a comprehensive overview of every report panel available in the system.
- Understand dashboard architecture instantly. Use get_dashboard to retrieve detailed layout matrices, allowing your agent to understand how all components relate without you needing to open the visual editor.

## How It Works

The bottom line is that your AI client acts as an automated BI analyst, translating complex GUI interactions into simple dialogue.

1. First, subscribe to this MCP on Vinkius and provide your Metabase Base URL and API Key.
2. Next, tell your AI client what you need—for example, 'What is the revenue calculation for Q2?'
3. Your agent uses the tools to audit the required dashboards or cards, retrieves the underlying data structure, and gives you a plain-language answer.

## Frequently Asked Questions

**How do I use Metabase Analytics MCP to check database connections?**
You run the list_databases tool. This enumerates all physical integrations your Metabase instance is connected to, giving you a full inventory of sources available for reporting.

**Can I use get_card in Metabase Analytics MCP if I don't know the ID?**
No. You first need to run list_cards to see a list of cards and their IDs, then pass that specific card ID into the get_card tool to retrieve its logic.

**Is Metabase Analytics MCP suitable for running new queries?**
No. This MCP is designed for auditing existing reports. For writing entirely new SQL queries, you would typically use a dedicated database connector rather than this BI structure tool.

**What is the difference between list_dashboards and search_content?**
list_dashboards only provides an enumeration of dashboards. search_content performs a global, keyword-based query across all content types (dashboards, cards, tables), making it much more flexible for discovery.

**How do I find out what data is available in Metabase using the MCP?**
Use list_databases to see the raw connections. To understand which reports use those connections, you can run list_dashboards and then inspect their components.