home / mcp / metabase mcp server
Metabase MCP server provides integration with the Metabase API, enabling LLM with MCP capabilites to directly interact with your analytics data, this server acts as a bridge between your analytics platform and conversational AI.
Configuration
View docs{
"mcpServers": {
"zsh52013148087-metabase-mcp": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"YOUR_GITHUB_USERNAME/metabase-mcp-server",
"--config",
"{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"your_api_key\",\"metabasePassword\":\"\",\"metabaseUserEmail\":\"\"}"
],
"env": {
"LOG_LEVEL": "info",
"METABASE_URL": "https://your-metabase-instance.com",
"METABASE_API_KEY": "your_api_key",
"METABASE_PASSWORD": "your_password",
"METABASE_USER_EMAIL": "[email protected]"
}
}
}
}You can use the Metabase MCP Server to connect AI assistants to your Metabase analytics data. It exposes Metabase resources and actions through MCP, letting you browse dashboards, run saved questions, execute SQL against connected databases, manage dashboards and collections, and receive structured results suitable for AI workflows.
Use an MCP client to connect to the Metabase MCP Server. You can perform data access tasks such as listing dashboards, cards, databases, collections, and table fields; execute saved questions or custom SQL; and manage dashboards, cards, and collections. The server returns JSON-formatted data that is easy for AI assistants to consume. Start by configuring authentication (API key is recommended for production) and then invoke the available tools to retrieve data, run analyses, or assemble dashboards.
Prerequisites: Node.js and a package manager (npm or npx) installed on your machine.
Install and run the MCP server client using the provided Smithery integration commands. The server is deployed via an MCP runner that executes a CLI command to start the Metabase MCP server using a hosted builder.
# Start the MCP runner for API key authentication
# Replace YOUR_GITHUB_USERNAME with your GitHub username
npx -y @smithery/cli@latest run YOUR_GITHUB_USERNAME/metabase-mcp-server \
--config "{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"your_api_key\",\"metabasePassword\":\"\",\"metabaseUserEmail\":\"\"}"
# Start the MCP runner for username/password authentication
# Replace YOUR_GITHUB_USERNAME with your GitHub username
npx -y @smithery/cli@latest run YOUR_GITHUB_USERNAME/metabase-mcp-server \
--config "{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"\",\"metabasePassword\":\"your_password\",\"metabaseUserEmail\":\"[email protected]\"}"Configuration and security notes help you run the server safely and reliably. For production deployments, prefer API key authentication and keep all credentials secure. Use environment variables or secret management rather than embedding credentials in start commands. Monitor logs to diagnose issues and ensure your Metabase instance is reachable from the MCP server environment.
Retrieve all dashboards available in your Metabase instance.
Get all saved questions or cards in Metabase.
View all connected database sources.
List all collections in Metabase.
List all tables in a specific database.
Get all fields/columns in a specific table.
Run a saved card and retrieve its results, with optional parameters.
Execute a custom SQL query against any connected database.
Extract all cards from a specific dashboard.
Create a new dashboard with specified name and parameters.
Update an existing dashboard's name, description, or parameters.
Delete a dashboard.
Add or update cards in a dashboard with position specifications and optional tab assignment.
Create a new question/card with a SQL query.
Update visualization settings for a card.
Create a new collection to organize dashboards and questions.