A Model Context Protocol server that integrates AI assistants with Metabase analytics platform
Author: Hyeongjun Yu (@hyeongjun-dev)
A Model Context Protocol server that integrates AI assistants with Metabase analytics platform.
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.
metabase:// URIsThe server exposes the following tools for AI assistants:
list_dashboards: Retrieve all available dashboards in your Metabase instancelist_cards: Get all saved questions/cards in Metabaselist_databases: View all connected database sourcesexecute_card: Run saved questions and retrieve results with optional parametersget_dashboard_cards: Extract all cards from a specific dashboardexecute_query: Execute custom SQL queries against any connected databaseThe server supports two authentication methods:
## Required
METABASE_URL=https://your-metabase-instance.com
[email protected]
METABASE_PASSWORD=your_password
## Optional
LOG_LEVEL=info # Options: debug, info, warn, error, fatal
## Required
METABASE_URL=https://your-metabase-instance.com
METABASE_API_KEY=your_api_key
## Optional
LOG_LEVEL=info # Options: debug, info, warn, error, fatal
You can set these environment variables directly or use a .env file with dotenv.
## Install dependencies
npm install
## Build the project
npm run build
## Start the server
npm start
## For development with auto-rebuild
npm run watch
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
{
"mcpServers": {
"metabase-mcp-server": {
"command": "/absolute/path/to/metabase-mcp-server/build/index.js",
"env": {
"METABASE_URL": "https://your-metabase-instance.com",
"METABASE_USER_EMAIL": "[email protected]",
"METABASE_PASSWORD": "your_password"
// Or alternatively, use API key authentication
// "METABASE_API_KEY": "your_api_key"
}
}
}
}
Alternatively, you can use the Smithery hosted version via npx with JSON configuration:
{
"mcpServers": {
"metabase-mcp-server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@hyeongjun-dev/metabase-mcp-server",
"--config",
"{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"your_api_key\",\"metabasePassword\":\"\",\"metabaseUserEmail\":\"\"}"
]
}
}
}
{
"mcpServers": {
"metabase-mcp-server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@hyeongjun-dev/metabase-mcp-server",
"--config",
"{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"\",\"metabasePassword\":\"your_password\",\"metabaseUserEmail\":\"[email protected]\"}"
]
}
}
}
Since MCP servers communicate over stdio, use the MCP Inspector for debugging:
npm run inspector
The Inspector will provide a browser-based interface for monitoring requests and responses.
A Docker image is available for containerized deployment:
## 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
Contributions are welcome! Please feel free to submit a Pull Request.
Hana Mcp Server
Model Context Server Protocol for your HANA DB
Onesignal Mcp
A Model Context Protocol (MCP) server for interacting with the OneSignal API
Mcp Crypto Price
A Model Context Protocol (MCP) server that provides real-time cryptocurrency analysis via CoinCap's API. Enables Claude and other MCP clients to fetch crypto prices, analyze market trends, and track historical data.