NestDaddy

Metabase MCP (headless)

io.github.Serdnaley/metabase-mcp · v0.5.0

Headless Metabase MCP: API-key auth, no OAuth. 178 tools, toolsets, stdio or HTTP, all tiers.

Connect Runs on your machine

Terminal
claude mcp add metabase-mcp -e METABASE_URL=<METABASE_URL> -e METABASE_API_KEY=<METABASE_API_KEY> -e METABASE_EMAIL=<METABASE_EMAIL> -e METABASE_PASSWORD=<METABASE_PASSWORD> -e METABASE_READ_ONLY_MODE=<METABASE_READ_ONLY_MODE> -e METABASE_TOOLSETS=<METABASE_TOOLSETS> -e METABASE_TOOLS_ENABLE=<METABASE_TOOLS_ENABLE> -e METABASE_TOOLS_DISABLE=<METABASE_TOOLS_DISABLE> -e METABASE_CUSTOM_HEADERS=<METABASE_CUSTOM_HEADERS> -- npx -y @serdnaley/[email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "metabase-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@serdnaley/[email protected]"
      ],
      "env": {
        "METABASE_URL": "<METABASE_URL>",
        "METABASE_API_KEY": "<METABASE_API_KEY>",
        "METABASE_EMAIL": "<METABASE_EMAIL>",
        "METABASE_PASSWORD": "<METABASE_PASSWORD>",
        "METABASE_READ_ONLY_MODE": "<METABASE_READ_ONLY_MODE>",
        "METABASE_TOOLSETS": "<METABASE_TOOLSETS>",
        "METABASE_TOOLS_ENABLE": "<METABASE_TOOLS_ENABLE>",
        "METABASE_TOOLS_DISABLE": "<METABASE_TOOLS_DISABLE>",
        "METABASE_CUSTOM_HEADERS": "<METABASE_CUSTOM_HEADERS>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "metabase-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@serdnaley/[email protected]"
      ],
      "env": {
        "METABASE_URL": "<METABASE_URL>",
        "METABASE_API_KEY": "<METABASE_API_KEY>",
        "METABASE_EMAIL": "<METABASE_EMAIL>",
        "METABASE_PASSWORD": "<METABASE_PASSWORD>",
        "METABASE_READ_ONLY_MODE": "<METABASE_READ_ONLY_MODE>",
        "METABASE_TOOLSETS": "<METABASE_TOOLSETS>",
        "METABASE_TOOLS_ENABLE": "<METABASE_TOOLS_ENABLE>",
        "METABASE_TOOLS_DISABLE": "<METABASE_TOOLS_DISABLE>",
        "METABASE_CUSTOM_HEADERS": "<METABASE_CUSTOM_HEADERS>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "metabase-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@serdnaley/[email protected]"
      ],
      "env": {
        "METABASE_URL": "<METABASE_URL>",
        "METABASE_API_KEY": "<METABASE_API_KEY>",
        "METABASE_EMAIL": "<METABASE_EMAIL>",
        "METABASE_PASSWORD": "<METABASE_PASSWORD>",
        "METABASE_READ_ONLY_MODE": "<METABASE_READ_ONLY_MODE>",
        "METABASE_TOOLSETS": "<METABASE_TOOLSETS>",
        "METABASE_TOOLS_ENABLE": "<METABASE_TOOLS_ENABLE>",
        "METABASE_TOOLS_DISABLE": "<METABASE_TOOLS_DISABLE>",
        "METABASE_CUSTOM_HEADERS": "<METABASE_CUSTOM_HEADERS>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
METABASE_URL
Required
Metabase base URL, e.g. https://metabase.example.com
METABASE_API_KEY
Optional, secret
Metabase API key (or set METABASE_EMAIL + METABASE_PASSWORD)
METABASE_EMAIL
Optional
Login email (alternative to an API key)
METABASE_PASSWORD
Optional, secret
Login password (alternative to an API key)
METABASE_READ_ONLY_MODE
Optional
true hides all write tools
METABASE_TOOLSETS
Optional
Comma list of toolsets or presets (all, query, content, admin)
METABASE_TOOLS_ENABLE
Optional
Extra tools to enable (names or globs)
METABASE_TOOLS_DISABLE
Optional
Tools to disable (names or globs); always wins
METABASE_CUSTOM_HEADERS
Optional, secret
Extra headers for every Metabase request (e.g. Cloudflare Access)

Details

Package@serdnaley/[email protected] (NPM, stdio)
First published3 Nov 2026
Last updated3 Nov 2026
Registry nameio.github.Serdnaley/metabase-mcp

More browser automation servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.