home / mcp / metabase mcp server
Provides an MCP server that enables AI assistants to interact with Metabase for live analytics and BI access.
Configuration
View docs{
"mcpServers": {
"easecloudio-mcp-metabase-server": {
"command": "npx",
"args": [
"@easecloudio/mcp-metabase-server"
],
"env": {
"METABASE_URL": "https://your-metabase-instance.com",
"METABASE_API_KEY": "your_metabase_api_key",
"METABASE_PASSWORD": "your_password",
"METABASE_USERNAME": "your_username"
}
}
}
}You set up an MCP server that bridges Metabase with AI assistants, enabling live analytics access and comprehensive BI capabilities through a standardized MCP interface. This server supports dashboard, card, database, user, and governance operations, empowering you to perform analytics tasks from natural language or programmatic MCP calls.
To use the Metabase MCP Server, run it as an MCP endpoint and connect your MCP client or Claude Desktop to it. You can start with the recommended method using npx, which avoids local installations and uses the published package directly. Once running, you can call a wide range of tools to list dashboards, execute cards, manage collections, export data, and monitor usage.
Prerequisites: You need Node.js installed (version recommended by your project) and access to a Metabase instance. If you prefer not to install locally, you can run the server via containerized or networked approaches described below.
Step 1. Install or prepare your environment if you want to run locally. You will install dependencies and build if you choose to run from source.
Step 2. Choose a run method from the options shown in the usage guide: npx, Node.js start from a built distribution, or Docker. Each method requires you to provide Metabase connection credentials.
Environment variables control authentication and target Metabase access. The server supports two methods: API key authentication or fallback username/password authentication. You should provide at least one of these methods to start the server.
Recommended minimum: set METABASE_URL and METABASE_API_KEY for API key authentication. If you use username/password, provide METABASE_URL, METABASE_USERNAME, and METABASE_PASSWORD.
Starting with API key authentication is preferred for simplicity and automation.
Debugging MCP servers that communicate over stdio can be challenging. Use the MCP Inspector tool to access debugging utilities in your browser. Run the inspector script to obtain a debugging URL. Check startup logs for authentication method usage and any errors related to Metabase API access.
Protect your Metabase credentials and API keys. Do not expose keys in client configurations or shared repositories. Use secure environment management and rotate credentials periodically.
You can run the server using several methods, including npx, direct Node.js execution after building, or Docker. Each method requires you to provide the correct environment variables and, when applicable, ensure the Metabase instance is reachable from the host running the MCP server.
If you need expert help deploying, customizing, or scaling Metabase integration with MCP, consider reaching out to the EaseCloud team for consulting, automation, and managed support.
List all dashboards available in Metabase so you can view and reference them from your MCP client.
Create a new dashboard within Metabase to organize cards and data visuals.
Update properties or layout of an existing dashboard.
Delete or archive a dashboard from Metabase.
Retrieve all cards associated with a specific dashboard.
List all questions or cards present in Metabase.
Create a new question/card in Metabase.
Update details of an existing card.
Delete or archive a card.
Run a card and fetch its results.
List all databases connected to Metabase.
Execute a SQL query against a selected database.
List all collections in Metabase.
Create a new collection to organize items.
Update properties of an existing collection.
Delete a collection.
Get all items contained in a collection.
Move items between collections.
List all Metabase users.
Create a new Metabase user.
Update user details.
Deactivate a user.
List all permission groups and permissions.
List all permission groups.
Create a new permission group.
Update a permission group.
Delete a permission group.
Add a user to a permission group.
Remove a user from a permission group.
Export card results to CSV/JSON/Excel.
Export dashboard data to various formats.
Bookmark a card for quick access.
Remove a card bookmark.
Bookmark a dashboard.
Remove a dashboard bookmark.
List all bookmarked items.
Create a public sharing link for content.
Disable an existing public sharing link.
Get information about a public link.
Get the schema information for a database.
List all tables in a database.
Get metadata for a specific table.
List all fields in a table.
Fetch values for a specific field.
Get summary statistics for a field.
Analyze the distribution of values in a field.
Search across Metabase content.
Get recently viewed items.
Get most popular cards and dashboards.
Retrieve user activity and usage statistics.
Get usage statistics for cards and dashboards.
Get system-wide usage statistics.
Get system health status.