Metabase

by hyeongjun-dev

2 stars
542 downloads
Not rated
GitHub

About

Connects to Metabase analytics platforms to enable conversational access to business intelligence data through tools for listing dashboards, executing saved questions, and running custom SQL queries.

Details

Author
hyeongjun-dev
Repository
hyeongjun-dev/metabase-mcp-server
GitHub stars
2
Downloads
542
Categories
Database, Other, Workplace, Developer Tools, AI, API, Infrastructure, Search
Tags
#data-science

- Resource Access: Navigate Metabase resources via intuitive metabase:// URIs
- Two Authentication Methods: Support for both session-based and API key authentication
- Structured Data Access: JSON-formatted responses for easy consumption by AI assistants
- Comprehensive Logging: Detailed logging for easy debugging and monitoring
- Error Handling: Robust error handling with clear error messages

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Metabase
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @smithery/cli@latest
    • Argument 3 run
    • Argument 4 @hyeongjun-dev/metabase-mcp-server
    • Argument 5 --config
    • Argument 6 {"metabaseUrl":"https://your-metabase-instance.com","metabaseApiKey":"","metabasePassword":"your_password","metabaseUserEmail":"your_email@example.com"}
    Environment
    • METABASE_URL https://your-metabase-instance.com
    • METABASE_PASSWORD your_password
    • METABASE_USER_EMAIL your_email@example.com

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository


bash

npm install

json
{
"mcpServers": {
"metabase-mcp-server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@hyeongjun-dev/metabase-mcp-server",
"--config",
"{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"your_api_key\",\"metabasePassword\":\"\",\"metabaseUserEmail\":\"\"}"
]
}
}
}

json
{
"mcpServers": {
"metabase-mcp-server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@hyeongjun-dev/metabase-mcp-server",
"--config",
"{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"\",\"metabasePassword\":\"your_password\",\"metabaseUserEmail\":\"your_email@example.com\"}"
]
}
}
}

docker run -e METABASE_URL=https://your-metabase.com \
-e METABASE_API_KEY=your_api_key \
metabase-mcp-server

list_dashboards

Retrieve all available dashboards in your Metabase instance.

list_cards

Get all saved questions/cards in Metabase.

list_databases

View all connected database sources.

execute_card

Run saved questions and retrieve results with optional parameters.

get_dashboard_cards

Extract all cards from a specific dashboard.

execute_query

Execute custom SQL queries against any connected database.

The server exposes the following tools for AI assistants:

- list_dashboards: Retrieve all available dashboards in your Metabase instance
- list_cards: Get all saved questions/cards in Metabase
- list_databases: View all connected database sources
- execute_card: Run saved questions and retrieve results with optional parameters
- get_dashboard_cards: Extract all cards from a specific dashboard
- execute_query: Execute custom SQL queries against any connected database

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "metabase": {
            "env": {
                "METABASE_URL": "https://your-metabase-instance.com",
                "METABASE_PASSWORD": "your_password",
                "METABASE_USER_EMAIL": "your_email@example.com"
            },
            "args": [
                "-y",
                "@smithery/cli@latest",
                "run",
                "@hyeongjun-dev/metabase-mcp-server",
                "--config",
                "{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"\",\"metabasePassword\":\"your_password\",\"metabaseUserEmail\":\"your_email@example.com\"}"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": {
        "METABASE_URL": "https://your-metabase-instance.com",
        "METABASE_PASSWORD": "your_password",
        "METABASE_USER_EMAIL": "your_email@example.com"
    },
    "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@hyeongjun-dev/metabase-mcp-server",
        "--config",
        "{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"\",\"metabasePassword\":\"your_password\",\"metabaseUserEmail\":\"your_email@example.com\"}"
    ],
    "command": "npx"
}

Macos

{
    "env": {
        "METABASE_URL": "https://your-metabase-instance.com",
        "METABASE_PASSWORD": "your_password",
        "METABASE_USER_EMAIL": "your_email@example.com"
    },
    "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@hyeongjun-dev/metabase-mcp-server",
        "--config",
        "{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"\",\"metabasePassword\":\"your_password\",\"metabaseUserEmail\":\"your_email@example.com\"}"
    ],
    "command": "npx"
}

Windows

{
    "env": {
        "METABASE_URL": "https://your-metabase-instance.com",
        "METABASE_PASSWORD": "your_password",
        "METABASE_USER_EMAIL": "your_email@example.com"
    },
    "args": [
        "/c",
        "npx",
        "-y",
        "@smithery/cli@latest",
        "run",
        "@hyeongjun-dev/metabase-mcp-server",
        "--config",
        "{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"\",\"metabasePassword\":\"your_password\",\"metabaseUserEmail\":\"your_email@example.com\"}"
    ],
    "command": "cmd"
}

Metabase MCP Server

Author: Hyeongjun Yu (@hyeongjun-dev)

smithery badge

A Model Context Protocol server that integrates AI assistants with Metabase analytics platform.

Overview

This TypeScript-based MCP server provides seamless integration with the Metabase API, enabling AI assistants to directly interact with your analytics data. Designed for Claude and other MCP-compatible AI assistants, this server acts as a bridge between your analytics platform and conversational AI.

Key Features

- Resource Access: Navigate Metabase resources via intuitive metabase:// URIs
- Two Authentication Methods: Support for both session-based and API key authentication
- Structured Data Access: JSON-formatted responses for easy consumption by AI assistants
- Comprehensive Logging: Detailed logging for easy debugging and monitoring
- Error Handling: Robust error handling with clear error messages

Available Tools

The server exposes the following tools for AI assistants:

- list_dashboards: Retrieve all available dashboards in your Metabase instance
- list_cards: Get all saved questions/cards in Metabase
- list_databases: View all connected database sources
- execute_card: Run saved questions and retrieve results with optional parameters
- get_dashboard_cards: Extract all cards from a specific dashboard
- execute_query: Execute custom SQL queries against any connected database

Configuration

The server supports two authentication methods:

Option 1: Username and Password Authentication

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.