Labsco
hyeongjun-dev logo

Metabase MCP Server

β˜… 36

from hyeongjun-dev

Integrates AI assistants with the Metabase analytics platform.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredNeeds API keys

Metabase MCP Server

Author: Hyeongjun Yu (@hyeongjun-dev)

smithery badge

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

Debugging

Since MCP servers communicate over stdio, use the MCP Inspector for debugging:

Copy & paste β€” that's it
npm run inspector

The Inspector will provide a browser-based interface for monitoring requests and responses.

Docker Support

A Docker image is available for containerized deployment:

Copy & paste β€” that's it
# Build the Docker image
docker build -t metabase-mcp-server .

# Run the container with environment variables
docker run -e METABASE_URL=https://your-metabase.com \
           -e METABASE_API_KEY=your_api_key \
           metabase-mcp-server

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.