Back to MCP Servers

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.

Analytics by Metabase OAuth2 active
Overview

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.
Setup Guide

Prerequisites

  • Metabase 60 or later (self-hosted or Metabase Cloud)
  • Admin must enable the MCP server from Admin > Settings (the enable-mcp-server setting)
  • The Metabase Site URL must match the URL clients use, since OAuth discovery depends on it
  • For local/containerized testing, set the MB_SITE_URL environment 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.

Use Cases
  • 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
Example Prompts
  • "Search Metabase for tables related to subscriptions and show me the schema for the main one."
  • "Run the Weekly Active Users metric for the last 12 weeks and chart the trend."
  • "Construct a query against the orders table grouped by country for Q1, then execute it."
  • "Create a new dashboard called Growth Review with cards for signups, activation rate, and churn."
  • "What field values appear most often in users.plan_tier? Pull samples and statistics."
Pros
  • 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
Limitations
  • 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
Alternatives
  • 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