Metabase MCP Server

MCP server for Metabase — 128 tools for full API coverage: dashboards, questions, collections, users, permissions, alerts, settings, and more

Local serverstdioTypeScript

What is the Metabase MCP server?

If you already use Metabase, the metabase mcp server is the piece that lets your assistant work with it directly. MCP server for Metabase — 128 tools for full API coverage: dashboards, questions, collections, users, permissions, alerts, settings, and more.

What the server does

MCP server for Metabase — comprehensive coverage of the Metabase REST API for AI assistants.

  • Full CRUD — Create, read, update, delete across all domains
  • Admin automation — User/group management, permissions, settings, database connections
  • Read-only mode — Restrict to read-only tools via a single env var
  • Type-safe — HTTP client generated from Metabase's OpenAPI spec
  • Two auth modes — API key (recommended) or email/password session
  • Zero config — Runs via npx — no installation needed

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • Domain — Tools
  • Search — search
  • Databases — list_databases, get_database, get_database_metadata, list_database_schemas, get_database_schema
  • Collections — list_collections, get_collection, list_collection_items, get_collection_tree
  • Cards — list_cards, get_card, execute_card_query
  • Dashboards — list_dashboards, get_dashboard
  • Actions — list_actions, get_action
  • Dataset — execute_query
  • Permissions — get_permissions_graph, get_collection_permissions
  • Segments — list_segments, get_segment
  • Revisions — list_revisions
  • Settings — list_settings, get_setting

Installation

Installation goes through your MCP client rather than a global install: point it at @serdnaley/metabase-mcp on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

Credentials and setup notes

Configuration is passed through the environment: METABASE_URL, METABASE_API_KEY. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

Where it fits

Among the database access options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Metabase's toolset — Domain, Search, Databases and 11 more — is a fair guide to whether it matches your workflow. It is maintained by GitHub Actions; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Metabase.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
DomainTools
Searchsearch
Databaseslist_databases, get_database, get_database_metadata, list_database_schemas, get_database_schema
Collectionslist_collections, get_collection, list_collection_items, get_collection_tree
Cardslist_cards, get_card, execute_card_query
Dashboardslist_dashboards, get_dashboard
Actionslist_actions, get_action
Datasetexecute_query
Permissionsget_permissions_graph, get_collection_permissions
Segmentslist_segments, get_segment
Revisionslist_revisions
Settingslist_settings, get_setting
Alertslist_alerts, get_alert, list_dashboard_subscriptions
Activityget_activity, list_tasks, get_task

How to install the Metabase MCP server

{
  "mcpServers": {
    "metabase": {
      "command": "npx",
      "args": ["-y", "@serdnaley/metabase-mcp"],
      "env": {
        "METABASE_URL": "https://your-metabase.example.com",
        "METABASE_API_KEY": "mb_xxx"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
METABASE_URLEndpoint or connection string the server talks to.Yes
METABASE_API_KEYCredential the server authenticates with.Yes

Example prompts to try

  • Use Metabase to Domain.
  • Use Metabase to Search.
  • Use Metabase to Databases.

Frequently asked questions

It connects Metabase to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (Domain, Search, Databases, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Metabase directly.