Metabase MCP Server
Official Metabase MCP server built into Metabase 60+. Search tables and metrics, construct and execute queries, all scoped to the connected user's Metabase permissions.
The Metabase MCP server is the official Model Context Protocol implementation included in Metabase 60 and later. It runs inside your Metabase instance and exposes the platform's data layer to MCP-compatible AI clients over Streamable HTTP. Because it is hosted by Metabase itself at /api/mcp, there is no separate package to install or repo to clone: admins enable it from the AI settings panel and clients connect directly to the instance URL.
The server allows AI agents to search tables and metrics, inspect schemas and field statistics, construct and execute queries, and even create questions and dashboards. Every call is scoped to the authenticated user's Metabase permissions, so the AI client only sees data the user is allowed to see. Authentication uses Metabase's embedded OAuth 2.0 server, meaning no external IdP or API key management is required: the user logs in to Metabase and approves the connection on a standard consent page.
Notable because it is the first-party server from the Metabase team (announced as part of the v60 release in April 2026), it works with Claude, Claude Code, ChatGPT, Cursor, VS Code, and any other MCP client that supports OAuth-based HTTP transports. This makes Metabase one of the few BI tools to ship native MCP support with permission-aware access out of the box.
Tools
| Tool | Description |
|---|---|
search |
Locate tables and metrics in the Metabase instance. |
get_table |
Retrieve a table's schema and related metadata. |
get_table_field_values |
Return field samples and column statistics for a table. |
get_metric |
Access details of a Metabase metric, including dimensions. |
get_metric_field_values |
Return field samples and statistics for a metric's fields. |
construct_query |
Build an executable Metabase query object. |
execute_query |
Run a query and return the result rows. |
query |
Directly query a table or metric in one step. |
create_question |
Save a new Metabase question (saved query). |
create_dashboard |
Create a new dashboard, optionally adding cards. |
Prerequisites
- Metabase 60 or later (self-hosted or Metabase Cloud)
- Admin must enable the MCP server from Admin > Settings (the
enable-mcp-serversetting) - The Metabase Site URL must match the URL clients use, since OAuth discovery depends on it
- For local/containerized testing, set the
MB_SITE_URLenvironment variable to match your client's URL:
MB_SITE_URL=http://localhost:3000
Endpoint
The MCP server is exposed at:
https://{your-metabase-url}/api/mcp
Claude Code
Add the server using the Claude CLI; OAuth will be handled automatically on first use:
claude mcp add --transport http metabase https://{your-metabase-url}/api/mcp
Claude Desktop / Other Clients
Configure a custom HTTP/Streamable HTTP MCP connector pointing to your Metabase endpoint. Example config:
{
"mcpServers": {
"metabase": {
"transport": "http",
"url": "https://your-metabase.example.com/api/mcp"
}
}
}
On first connect, the client self-registers with Metabase's embedded OAuth server, the user signs in and approves the connection on the consent page, and a scoped access token is issued.
Cursor / VS Code / ChatGPT
Add the same URL (https://{your-metabase-url}/api/mcp) as a remote MCP server in the client's MCP configuration. The OAuth flow is identical across clients.
- Ask an AI agent to explore the warehouse: search for relevant tables, inspect schemas, and run ad hoc aggregations without leaving the chat
- Have an analyst-assistant build a Metabase question or full dashboard from a natural language brief, respecting the user's data permissions
- Pull defined Metabase metrics (revenue, MRR, active users) into an AI workflow so generated numbers match what the BI team already curated
- Let a coding agent in Cursor or VS Code query production analytics data to validate features or reproduce bug reports
- Use ChatGPT or Claude to summarize KPIs from Metabase metrics and post the result into another tool
- "Search Metabase for tables related to subscriptions and show me the schema for the main one."
- "Run the
Weekly Active Usersmetric for the last 12 weeks and chart the trend." - "Construct a query against the
orderstable grouped by country for Q1, then execute it." - "Create a new dashboard called
Growth Reviewwith cards for signups, activation rate, and churn." - "What field values appear most often in
users.plan_tier? Pull samples and statistics."
- Official, first-party server maintained by Metabase and shipped inside the product itself
- Permission-aware: queries respect the connecting user's Metabase access, so AI clients cannot bypass data governance
- Built-in OAuth 2.0 with no external IdP needed, and works with Claude, ChatGPT, Cursor, VS Code, and other MCP clients
- Covers the full analyst loop: search, schema inspection, query construction, execution, and dashboard creation
- Requires Metabase 60 or later; older self-hosted instances must upgrade first
- An admin must explicitly enable the MCP server and the Site URL must match the client's URL or OAuth discovery fails
- No public source repository for the MCP server itself, so customization is limited to what Metabase exposes
- hyeongjun-dev/metabase-mcp-server: community MCP server that wraps the Metabase REST API, useful for pre-v60 instances
- Direct database MCP servers (e.g. Postgres or BigQuery MCP) for teams that want raw SQL access instead of the curated Metabase semantic layer
- Cube MCP server for organizations using Cube as their semantic layer instead of Metabase metrics