Skip to content

cuenca-mx/metabase-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

 
 
 

Contributors