Skip to content

cuenca-mx/metabase-mcp-server

Repository files navigation

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

About

A Model Context Protocol server that enables interaction with Metabase via LLMs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •