metabase-mcp-server

cuenca-mx/metabase-mcp-server

3.3

If you are the rightful owner of metabase-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This project implements an MCP server to interact with the Metabase API, providing a structured interface for key functionalities.

Metabase MCP Server

This project implements an MCP server to interact with the Metabase API, exposing key functionality via a MCP interface.

Features

  • ๐Ÿ” List Metabase cards
  • ๐Ÿ—„๏ธ List available databases
  • ๐Ÿ“Š Execute queries on cards
  • ๐Ÿงพ Run arbitrary queries
  • ๐Ÿ“ Create new cards
  • ๐Ÿ”– Create bookmark
  • ๐Ÿ“ List collections

Requirements

  • Python 3.12+
  • uv

Installation

  1. Clone the repository:
git clone https://github.com/cuenca-mx/metabase-mcp-server.git
cd metabase-mcp-server
  1. Configure your AI assistant client (Claude, Cursor, etc.) by adding the following configuration:
{
    "mcpServers": {
        "metabase": {
            "command": "uv",
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/PARENT/FOLDER/metabase_mcp_server",
                "run",
                "app.py"
            ],
            "env": {
                "METABASE_URL": "https://metabase.domain.com/",
                "METABASE_API_KEY": "your-secret-api-key"
            }
        }
    }
}

Development Setup

This project uses a Makefile to simplify development tasks:

make install

Environment Variables

Configure required environment variables:

export $(<env.template)

Running Tests

The project uses pytest for unit testing:

uv run pytest

Debugging with MCP Inspector

Use the MCP Inspector for testing and debugging:

make dev