Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

metabase-server

MCP.Pizza Chef: imlewc

The metabase-server is a TypeScript-based MCP server that integrates the Metabase API with AI assistants. It enables real-time interaction with Metabase resources such as dashboards, questions/cards, and databases. The server provides tools to list and execute Metabase queries, allowing structured access to data via metabase:// URIs. This facilitates AI-driven data exploration and query execution within Metabase environments, enhancing data accessibility and automation for users.

Use This MCP server To

List all dashboards in a Metabase instance Retrieve all questions/cards from Metabase Access and list all databases in Metabase Execute Metabase questions/cards and fetch results Fetch all cards associated with a specific dashboard Enable AI assistants to query Metabase data dynamically Integrate Metabase data into AI workflows via MCP Automate data retrieval from Metabase for reporting

README

metabase-server MCP Server

smithery badge

A Model Context Protocol server for Metabase integration.

This is a TypeScript-based MCP server that implements integration with Metabase API. It allows AI assistants to interact with Metabase, providing access to:

  • Dashboards, questions/cards, and databases as resources
  • Tools for listing and executing Metabase queries
  • Ability to view and interact with Metabase data

Features

Resources

  • List and access Metabase resources via metabase:// URIs
  • Access dashboards, cards/questions, and databases
  • JSON content type for structured data access

Tools

  • list_dashboards - List all dashboards in Metabase
  • list_cards - List all questions/cards in Metabase
  • list_databases - List all databases in Metabase
  • execute_card - Execute a Metabase question/card and get results
  • get_dashboard_cards - Get all cards in a dashboard
  • execute_query - Execute a SQL query against a Metabase database

Configuration

Before running the server, you need to set the following environment variables:

# Required environment variables
export METABASE_URL=https://your-metabase-instance.com
export METABASE_USERNAME=your_username
export METABASE_PASSWORD=your_password

You can set these environment variables in your shell profile or use a .env file with a package like dotenv.

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "metabase-server": {
      "command": "/path/to/metabase-server/build/index.js",
      "env": {
        "METABASE_URL": "https://your-metabase-instance.com",
        "METABASE_USERNAME": "your_username",
        "METABASE_PASSWORD": "your_password"
      }
    }
  }
}

Note: You can also set these environment variables in your system instead of in the config file if you prefer.

Installing via Smithery

To install metabase-server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @imlewc/metabase-server --client claude

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

metabase-server FAQ

How do I connect the metabase-server to my Metabase instance?
Configure the server with your Metabase API credentials and endpoint URL to enable secure access.
What types of Metabase resources can this server access?
It can access dashboards, questions/cards, and databases as structured resources.
Can the metabase-server execute Metabase queries?
Yes, it supports executing questions/cards and returning their results via the MCP interface.
How does the server expose Metabase data to AI models?
It uses metabase:// URIs and JSON content types to provide structured, model-readable data.
Is the metabase-server limited to any specific Metabase version?
It is designed to work with Metabase API-compatible versions; check compatibility in documentation.
Can I extend the metabase-server with custom tools?
Yes, since it is TypeScript-based, you can add or modify tools to fit your integration needs.
Does the server support real-time updates from Metabase?
It primarily provides on-demand access; real-time push updates depend on Metabase API capabilities.
What security measures are recommended when using metabase-server?
Use secure API tokens, HTTPS endpoints, and restrict access to trusted clients to protect data.