原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。使用 Google 登录即可撰写评价。原型 · 每 30 分钟更新
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Metabase MCP (headless)

作者:Serdnaley版本 0.5.0i★ 0i在你的电脑上运行
注册名称io.github.Serdnaley/metabase-mcp

安装方法

What it does

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

  • Connects 在你的电脑上运行
  • Account or key Needs METABASE_URL, METABASE_API_KEY, METABASE_PASSWORD, METABASE_CUSTOM_HEADERS
  • Category 其他

安装

选择你使用的 AI 应用,然后复制设置。

通过 3/3 项检查 · 在你的电脑上运行 · ✓ 命令已检查 2026年11月13日

第一步:你用哪个 AI?

选择你用的应用,步骤会显示在下方。

可连接 Claude,但需要先准备

需要 Metabase MCP (headless) 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用

  1. 安装 Node.js

    只需一次,所有需要 Node.js 的服务器都能用

    打开 Node.js 下载页 ↗

  2. 注册并创建 Metabase MCP (headless) 的密钥

    打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。

    打开 Metabase MCP (headless) 网站 ↗

  3. 打开电脑版 Claude 应用的设置文件

    SettingsDeveloperEdit Config

  4. 粘贴这些设置并保存文件

    {
      "mcpServers": {
        "metabase": {
          "command": "npx",
          "args": [
            "-y",
            "@serdnaley/metabase-mcp"
          ],
          "env": {
            "METABASE_URL": "your-value",
            "METABASE_API_KEY": "your-value",
            "METABASE_EMAIL": "your-value",
            "METABASE_PASSWORD": "your-value",
            "METABASE_READ_ONLY_MODE": "your-value",
            "METABASE_TOOLSETS": "your-value",
            "METABASE_TOOLS_ENABLE": "your-value",
            "METABASE_TOOLS_DISABLE": "your-value",
            "METABASE_CUSTOM_HEADERS": "your-value"
          }
        }
      }
    }

    只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人

  5. 退出 Claude 再重新打开

  6. 试一试

    用 Metabase MCP (headless) 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Claude 说正在使用 Metabase MCP (headless),或回答中出现 Metabase MCP (headless) 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同

ChatGPT 暂时无法连接 Metabase MCP (headless)

Metabase MCP (headless) 需要安装在你的电脑上,而 ChatGPT 只能连接在网上运行的服务器

你可以改用这些方式

A · 使用能连接 Metabase MCP (headless) 的应用

  • 需要 Metabase MCP (headless) 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
  • 需要 Metabase MCP (headless) 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)
  • 需要 Metabase MCP (headless) 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)
  • 需要 Metabase MCP (headless) 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)

B · 其他 类中能连接 ChatGPT 的其他服务器

从同类中使用较多的里挑选,仅限用地址即可连接、无需密钥的

可连接 Claude Code,但需要先准备

需要 Metabase MCP (headless) 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)

  1. 安装 Node.js

    只需一次,所有需要 Node.js 的服务器都能用

    打开 Node.js 下载页 ↗

  2. 注册并创建 Metabase MCP (headless) 的密钥

    打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。

    打开 Metabase MCP (headless) 网站 ↗

  3. 打开终端

    Mac:按 Command+空格,输入 Terminal · Windows:打开 PowerShell

  4. 粘贴这条命令并按 Enter

    claude mcp add --scope user metabase --env METABASE_URL=your-value --env METABASE_API_KEY=your-value --env METABASE_EMAIL=your-value --env METABASE_PASSWORD=your-value --env METABASE_READ_ONLY_MODE=your-value --env METABASE_TOOLSETS=your-value --env METABASE_TOOLS_ENABLE=your-value --env METABASE_TOOLS_DISABLE=your-value --env METABASE_CUSTOM_HEADERS=your-value -- npx -y @serdnaley/metabase-mcp

    按 Enter 前,把“your-value”改成你的密钥

    只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人

  5. 在 Claude Code 中输入 /mcp

    应能看到 Metabase MCP (headless) 在列表中并显示已连接

  6. 试一试

    用 Metabase MCP (headless) 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Claude Code 说正在使用 Metabase MCP (headless),或回答中出现 Metabase MCP (headless) 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同

可连接 Cursor,但需要先准备

需要 Metabase MCP (headless) 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)

  1. 安装 Node.js

    只需一次,所有需要 Node.js 的服务器都能用

    打开 Node.js 下载页 ↗

  2. 注册并创建 Metabase MCP (headless) 的密钥

    打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。

    打开 Metabase MCP (headless) 网站 ↗

  3. 点击这个按钮打开 Cursor

    在 Cursor 中打开

    Cursor 会请你确认安装,点击 Install

  4. 填写你的密钥

    在 Metabase MCP (headless) 的设置中,METABASE_URL, METABASE_API_KEY, METABASE_EMAIL, METABASE_PASSWORD, METABASE_READ_ONLY_MODE, METABASE_TOOLSETS, METABASE_TOOLS_ENABLE, METABASE_TOOLS_DISABLE, METABASE_CUSTOM_HEADERS 还是空的,填入你的密钥并保存

    只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人

  5. 在 Cursor 中以 Agent 模式打开 AI 聊天

  6. 试一试

    用 Metabase MCP (headless) 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Cursor 说正在使用 Metabase MCP (headless),或回答中出现 Metabase MCP (headless) 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Cursor 帮助页面核实 · 你的界面可能因版本略有不同

可连接 VS Code,但需要先准备

需要 Metabase MCP (headless) 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)

  1. 安装 Node.js

    只需一次,所有需要 Node.js 的服务器都能用

    打开 Node.js 下载页 ↗

  2. 注册并创建 Metabase MCP (headless) 的密钥

    打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。

    打开 Metabase MCP (headless) 网站 ↗

  3. 点击这个按钮打开 VS Code

    在 VS Code 中打开

    VS Code 会请你确认安装,点击 Install

  4. 填写你的密钥

    在 Metabase MCP (headless) 的设置中,METABASE_URL, METABASE_API_KEY, METABASE_EMAIL, METABASE_PASSWORD, METABASE_READ_ONLY_MODE, METABASE_TOOLSETS, METABASE_TOOLS_ENABLE, METABASE_TOOLS_DISABLE, METABASE_CUSTOM_HEADERS 还是空的,填入你的密钥并保存

    只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人

  5. 在 VS Code 中以 Agent 模式打开 AI 聊天

  6. 试一试

    用 Metabase MCP (headless) 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 VS Code 说正在使用 Metabase MCP (headless),或回答中出现 Metabase MCP (headless) 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 VS Code 帮助页面核实 · 你的界面可能因版本略有不同

其他支持 MCP 的应用(如 Windsurf、Zed、Gemini CLI)添加方式各不相同,请在应用列表中查看

查看所有支持 MCP 的应用 →

JSON 设置在下方“开发者专用”中

卡住了?问问正在用 Metabase MCP (headless) 的人💬 讨论 →
开发者专用:终端命令和 JSON 设置

安装在电脑上

Claude Code

claude mcp add --scope user metabase --env METABASE_URL=your-value --env METABASE_API_KEY=your-value --env METABASE_EMAIL=your-value --env METABASE_PASSWORD=your-value --env METABASE_READ_ONLY_MODE=your-value --env METABASE_TOOLSETS=your-value --env METABASE_TOOLS_ENABLE=your-value --env METABASE_TOOLS_DISABLE=your-value --env METABASE_CUSTOM_HEADERS=your-value -- npx -y @serdnaley/metabase-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "metabase": {
      "command": "npx",
      "args": [
        "-y",
        "@serdnaley/metabase-mcp"
      ],
      "env": {
        "METABASE_URL": "your-value",
        "METABASE_API_KEY": "your-value",
        "METABASE_EMAIL": "your-value",
        "METABASE_PASSWORD": "your-value",
        "METABASE_READ_ONLY_MODE": "your-value",
        "METABASE_TOOLSETS": "your-value",
        "METABASE_TOOLS_ENABLE": "your-value",
        "METABASE_TOOLS_DISABLE": "your-value",
        "METABASE_CUSTOM_HEADERS": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "metabase": {
      "command": "npx",
      "args": [
        "-y",
        "@serdnaley/metabase-mcp"
      ],
      "env": {
        "METABASE_URL": "your-value",
        "METABASE_API_KEY": "your-value",
        "METABASE_EMAIL": "your-value",
        "METABASE_PASSWORD": "your-value",
        "METABASE_READ_ONLY_MODE": "your-value",
        "METABASE_TOOLSETS": "your-value",
        "METABASE_TOOLS_ENABLE": "your-value",
        "METABASE_TOOLS_DISABLE": "your-value",
        "METABASE_CUSTOM_HEADERS": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "metabase": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@serdnaley/metabase-mcp"
      ],
      "env": {
        "METABASE_URL": "your-value",
        "METABASE_API_KEY": "your-value",
        "METABASE_EMAIL": "your-value",
        "METABASE_PASSWORD": "your-value",
        "METABASE_READ_ONLY_MODE": "your-value",
        "METABASE_TOOLSETS": "your-value",
        "METABASE_TOOLS_ENABLE": "your-value",
        "METABASE_TOOLS_DISABLE": "your-value",
        "METABASE_CUSTOM_HEADERS": "your-value"
      }
    }
  }
}

需要你填写的值

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

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

一览

每周下载量i
40,541/周
连接方式
在你的电脑上运行
最新版本i
0.5.0
分类i
其他
发布到注册中心i
2026年11月3日
代码最后更新i
2026年11月11日
作者
Serdnaley
软件包
npm: @serdnaley/metabase-mcp
注册状态
活跃

哪些应用可以使用它

依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。

在你的电脑上运行,适用于

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

全部应用及其优缺点 →

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月13日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 Serdnaley 验证,该账户拥有此仓库

  • ✓ 通过

    仍在维护

    代码最后更新于前天

  • ✓ 通过

    有许可证

    使用 MIT

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

讨论

提问、分享技巧或报告无法使用。按“有帮助”数量排序。

还没有帖子,欢迎第一个提问或分享。

此处内容由用户撰写,不代表 PopNx 团队。

使用 Google 登录后发帖

用户评价

还没有评价

用 Google 登录后写评价

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 19453 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 19453 个服务器的 82% 更新
  • 基础检查结果等于或优于此分类中其他 19453 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Metabase MCP (headless) 安全吗?

它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:METABASE_URL, METABASE_API_KEY, METABASE_PASSWORD, METABASE_CUSTOM_HEADERS

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于前天,最新版本(0.5.0)于10天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:World Monitor, Claude Flow, Windmill

同类别的其他选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 104 tools.

作者:koala73广泛使用★ 9.1万昨天更新

在云端运行✓ 服务方 · worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

作者:ruvnet广泛使用↓ 1.4万/周★ 8.2万14个月前更新

在你的电脑上运行

Windmill

Run Windmill scripts and flows and manage jobs, schedules, resources and variables.

作者:windmill-labs广泛使用★ 1.9万昨天更新

在云端运行

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

@serdnaley/metabase-mcp

The headless MCP server for Metabase. Plug Metabase into any AI agent, app, CI job or server with a plain API key: no OAuth flow, no browser, no admin switch to flip.

  • Headless auth. A Metabase API key (or email/password) is all it needs. That works where an interactive OAuth login can't: servers, CI, containers, your own app or agent. Metabase's built-in MCP is documented as OAuth-only and needs an admin to enable it on 0.60+.
  • Runs locally or as a service. stdio for desktop clients, or Streamable HTTP with a bearer token for shared and server deployments. Metabase credentials stay on the server.
  • Full coverage. 187 tools for querying and for running Metabase: dashboards, questions, collections, users, groups, permissions, databases, settings, alerts, transforms, exports and more.
  • Only the tools you need. Toolsets and per-tool enable/disable keep the model's context small. Every tool carries read-only/destructive hints, so clients can auto-approve reads.
  • Any Metabase. Works with Metabase OSS (free) and paid editions, tested against 0.59 and 0.64. Paid-only features (caching, model persistence, moderation) work when your instance has them; CI covers the free edition.

How it compares with Metabase's built-in MCP and other Metabase MCP servers: docs/comparison.md. Full tool catalog: serdnaley.github.io/metabase-mcp.

Features

  • 187 MCP tools across 34 toolsets: search, databases, tables, collections, cards, dashboards, actions, dataset, users, groups, permissions, segments, revisions, settings, alerts, subscriptions, glossary, documents, timelines, bookmarks, moderation, snippets, x-rays, cache, persistence, uploads, metrics, measures, transforms, exports, API keys, embedding, tasks & logs, explorations
  • Toolsets: load only what you need (METABASE_TOOLSETS=query), add or drop single tools with globs
  • Tool annotations: readOnlyHint / destructiveHint / idempotentHint on every tool
  • stdio or HTTP: Streamable HTTP with bearer auth for shared deployments
  • Read-only mode: hide every write tool with one env var
  • Large-result safety: compact query results, row and response-size caps, paging
  • Resources & prompts: browse databases, cards, dashboards and collections; ready-made workflows
  • Admin automation: users, groups, permissions, settings, database connections, transforms
  • Type-safe: HTTP client generated from Metabase's OpenAPI spec
  • Zero config: runs via npx, no installation needed

Installation

Claude Desktop (one-click bundle)

Download metabase-mcp-X.Y.Z.mcpb from the latest release and open it: Claude Desktop shows a form for the Metabase URL and API key. No Node.js setup or JSON editing.

Claude Desktop (JSON config)

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{

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

Restart Claude Desktop after saving.

Claude Code (CLI)

claude mcp add metabase \

--env METABASE_URL=https://your-metabase.example.com \ --env METABASE_API_KEY=mb_xxx \ -- npx -y @serdnaley/metabase-mcp

Or add to .claude/mcp.json:

{

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

Cursor

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

{

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

Restart Cursor after saving.

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{

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

Cline (VS Code)

Add to your Cline MCP settings (accessible via the MCP Servers icon):

{

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

Continue (VS Code)

Add to .continue/config.yaml:

mcpServers:
  • name: metabase command: npx args:
  • "-y"
  • "@serdnaley/metabase-mcp" env: METABASE_URL: "https://your-metabase.example.com" METABASE_API_KEY: "mb_xxx"

Zed

Add to your Zed settings.json:

{

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

Remote / HTTP (any client that speaks Streamable HTTP)

Run the server once in HTTP mode (see HTTP mode), then point clients at it. Claude Code:

claude mcp add --transport http metabase https://mcp.example.com/mcp \

--header "Authorization: Bearer $MCP_HTTP_TOKEN"

Generic JSON config (Cursor, VS Code and others):

{

"mcpServers": { "metabase": { "url": "https://mcp.example.com/mcp", "headers": { "Authorization": "Bearer " } } } }

Configuration

VariableRequiredDescription
METABASE_URLYesBase URL of your Metabase instance
METABASE_API_KEYNo*API key for authentication
METABASE_EMAILNo*Email for session-based auth
METABASE_PASSWORDNo*Password for session-based auth
METABASE_READ_ONLY_MODENoSet to true to disable write tools
METABASE_CUSTOM_HEADERSNoExtra HTTP headers sent on every request, including the session login (see below)
METABASE_TOOLSETSNoComma list of toolsets or presets to load (default: all). See Toolsets
METABASE_TOOLS_ENABLENoExtra tools to load on top of the toolsets (names or globs, e.g. get_card,export_*)
METABASE_TOOLS_DISABLENoTools never to load (names or globs); always wins over enable
METABASE_MAX_ROWSNoRow cap for query tools (default 500); see Large results
METABASE_MAX_RESPONSE_CHARSNoSize cap for any tool response (default 100000)
MCP_TRANSPORTNostdio (default) or http. --http on the command line does the same
MCP_HTTP_HOST / MCP_HTTP_PORTNoHTTP bind address, default 127.0.0.1:3333 (PORT also works)
MCP_HTTP_TOKENHTTP modeBearer token clients must send (min. 16 chars)
MCP_HTTP_ALLOW_NO_AUTHNotrue runs HTTP without a token, only on a loopback host

*Either METABASE_API_KEY or both METABASE_EMAIL + METABASE_PASSWORD must be provided. API key is recommended.

Custom headers

Use METABASE_CUSTOM_HEADERS when Metabase sits behind a proxy that needs its own headers, such as Cloudflare Access service tokens. Give it a JSON object:

METABASE_CUSTOM_HEADERS='{"CF-Access-Client-Id": "xxx.access", "CF-Access-Client-Secret": "yyy"}'

or Name: value pairs separated by newlines or ;:

METABASE_CUSTOM_HEADERS='CF-Access-Client-Id: xxx.access; CF-Access-Client-Secret: yyy'

The auth headers (X-API-Key, X-Metabase-Session) always win over a custom header with the same name. A malformed value stops the server at startup.

Toolsets

Each tool domain is a toolset (dashboards, users, transforms, ...; the full list is in Tools). Presets bundle them:

PresetFor
alleverything (default)
queryexploring and querying data: search, databases, tables, dataset, cards, metrics, measures, segments, exports, activity, x-rays, explorations
contentbuilding and organising content: collections, cards, dashboards, documents, snippets, timelines, alerts, ...
adminrunning the instance: users, permissions, settings, databases, tables, cache, uploads, transforms, actions, ...
METABASE_TOOLSETS=query,dashboards      # analyst assistant

METABASE_TOOLS_ENABLE=create_card # plus one write tool METABASE_TOOLS_DISABLE='delete_*' # never delete anything

Precedence, strongest first: read-only mode > `METABASE_TOOLS_DISABLE` > `METABASE_TOOLS_ENABLE` > `METABASE_TOOLSETS`. An unknown toolset stops the server at startup; an enable/disable pattern that matches nothing logs a warning. The startup log (stderr) shows how many tools are enabled.

Large results

Query tools (execute_query, execute_card_query, run_metric) return a compact view: columns (name, type) and rows, without Metabase's column internals, results_metadata and insights. Pass verbose: true for the raw response. Results are capped at METABASE_MAX_ROWS rows (per call: max_rows, never above the cap) and paged with offset; a note says how to get the rest. Every tool response is compact JSON capped at METABASE_MAX_RESPONSE_CHARS. For a 10 / 100 / 500-row SELECT * FROM ORDERS this is 94% / 76% / 60% smaller than the raw pretty-printed response. For full result sets use the export tools with output_path.

Resources and prompts

Besides tools the server offers MCP resources for browsing (compact JSON): metabase://databases, metabase://database/{id}/schema, metabase://card/{id}, metabase://dashboard/{id}, metabase://collection/{id} (root for the root collection), and prompts for common workflows: explore-database, build-dashboard, explain-card, audit-permissions. Both follow the tool selection: a resource needs its toolset, a prompt needs every tool it uses (so build-dashboard disappears in read-only mode).

HTTP mode (shared / server deployments)
METABASE_URL=https://metabase.example.com \

METABASE_API_KEY=mb_xxx \ MCP_TRANSPORT=http MCP_HTTP_HOST=0.0.0.0 MCP_HTTP_PORT=3333 \ MCP_HTTP_TOKEN="$(openssl rand -hex 32)" \ npx -y @serdnaley/metabase-mcp

Clients connect t

只显示了开头部分;其余内容请在仓库中阅读