metabase.com
metabase.com logo

Metabase

Connects to Metabase analytics platforms to enable conversational access to business intelligence data through tools for...

Created byApr 23, 2025

Metabase MCP Server

**Author**: Hyeongjun Yu ([@hyeongjun-dev](https://github.com/hyeongjun-dev))
[![smithery badge](https://smithery.ai/badge/@hyeongjun-dev/metabase-mcp-server)](https://smithery.ai/server/@hyeongjun-dev/metabase-mcp-server)
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

Option 2: API Key Authentication (Recommended for Production)

You can set these environment variables directly or use a `.env` file with [dotenv](https://www.npmjs.com/package/dotenv).

Installation

Prerequisites

  • Node.js 18.0.0 or higher
  • An active Metabase instance with appropriate credentials

Development Setup

Claude Desktop Integration

To use with Claude Desktop, add this server configuration:
**MacOS**: Edit `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: Edit `%APPDATA%/Claude/claude_desktop_config.json`
Alternatively, you can use the Smithery hosted version via npx with JSON configuration:

API Key Authentication:

Username and Password Authentication:

Debugging

Since MCP servers communicate over stdio, use the [MCP Inspector](https://github.com/modelcontextprotocol/inspector) for debugging:
The Inspector will provide a browser-based interface for monitoring requests and responses.

Docker Support

A Docker image is available for containerized deployment:

Security Considerations

  • We recommend using API key authentication for production environments
  • Keep your API keys and credentials secure
  • Consider using Docker secrets or environment variables instead of hardcoding credentials
  • Apply appropriate network security measures to restrict access to your Metabase instance

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.