Integrates AI assistants with the 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
METABASE_USER_EMAIL=your_email@example.com
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": "your_email@example.com",
"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\":\"your_email@example.com\"}"
]
}
}
}
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.
Integrates with Supabase to allow AI assistants to access and manage store data.
Securely query and retrieve data from your ThoughtSpot instance.
A read-only MCP server for querying live eBay data. Requires a separately licensed CData JDBC Driver for eBay.
Provides access to supOS open APIs for querying topic structures, real-time and historical data, and executing SQL queries.
A server that enables LLMs to connect and interact with databases via JDBC, built using the Spring AI MCP framework.
Provides persistent memory for AI systems to enable continuity of consciousness, using an external PostgreSQL database.
Update various databases (PostgreSQL, MySQL, MongoDB, SQLite) using data from CSV and Excel files.
Allows LLMs to directly interact with a YugabyteDB database.
Provides real-time financial data using the Tushare API.
Connect AI tools with Pinecone projects to search, configure indexes, generate code, and manage data.