- Home
- MCP servers
- Metabase
Metabase
- typescript
0
GitHub Stars
typescript
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
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": "user@example.com"
}
}
}
}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.
How to use
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.
How to install
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\":\"your_email@example.com\"}"
Additional content
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.
Available tools
list_dashboards
Retrieve all dashboards available in your Metabase instance.
list_cards
Get all saved questions or cards in Metabase.
list_databases
View all connected database sources.
list_collections
List all collections in Metabase.
list_tables
List all tables in a specific database.
get_table_fields
Get all fields/columns in a specific table.
execute_card
Run a saved card and retrieve its results, with optional parameters.
execute_query
Execute a custom SQL query against any connected database.
get_dashboard_cards
Extract all cards from a specific dashboard.
create_dashboard
Create a new dashboard with specified name and parameters.
update_dashboard
Update an existing dashboard's name, description, or parameters.
delete_dashboard
Delete a dashboard.
add_card_to_dashboard
Add or update cards in a dashboard with position specifications and optional tab assignment.
create_card
Create a new question/card with a SQL query.
update_card_visualization
Update visualization settings for a card.
create_collection
Create a new collection to organize dashboards and questions.