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: