World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 104 tools.
Headless Metabase MCP: API-key auth, no OAuth. 178 tools, toolsets, stdio or HTTP, all tiers.
选择你使用的 AI 应用,然后复制设置。
通过 3/3 项检查 · 在你的电脑上运行 · ✓ 命令已检查 2026年11月13日
第一步:你用哪个 AI?
选择你用的应用,步骤会显示在下方。
可连接 Claude,但需要先准备
需要 Metabase MCP (headless) 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。
SettingsDeveloperEdit Config
{
"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"
}
}
}
}只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人
用 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) 的应用
B · 其他 类中能连接 ChatGPT 的其他服务器
从同类中使用较多的里挑选,仅限用地址即可连接、无需密钥的
可连接 Claude Code,但需要先准备
需要 Metabase MCP (headless) 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)
打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。
Mac:按 Command+空格,输入 Terminal · Windows:打开 PowerShell
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”改成你的密钥
只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人
应能看到 Metabase MCP (headless) 在列表中并显示已连接
用 Metabase MCP (headless) 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude Code 说正在使用 Metabase MCP (headless),或回答中出现 Metabase MCP (headless) 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
可连接 Cursor,但需要先准备
需要 Metabase MCP (headless) 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)
打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。
在 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 还是空的,填入你的密钥并保存
只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人
用 Metabase MCP (headless) 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Cursor 说正在使用 Metabase MCP (headless),或回答中出现 Metabase MCP (headless) 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Cursor 帮助页面核实 · 你的界面可能因版本略有不同
可连接 VS Code,但需要先准备
需要 Metabase MCP (headless) 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)
打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。
在 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 还是空的,填入你的密钥并保存
只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人
用 Metabase MCP (headless) 告诉我你能帮我做什么,然后做一件给我看✓ 如果 VS Code 说正在使用 Metabase MCP (headless),或回答中出现 Metabase MCP (headless) 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 VS Code 帮助页面核实 · 你的界面可能因版本略有不同
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-mcpClaude 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 必填 envMETABASE_API_KEY 机密 envMETABASE_EMAIL envMETABASE_PASSWORD 机密 envMETABASE_READ_ONLY_MODE envMETABASE_TOOLSETS envMETABASE_TOOLS_ENABLE envMETABASE_TOOLS_DISABLE envMETABASE_CUSTOM_HEADERS 机密 env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。
在你的电脑上运行,适用于
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月13日
注册名称已通过 GitHub 账户 Serdnaley 验证,该账户拥有此仓库
代码最后更新于前天
使用 MIT
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
提问、分享技巧或报告无法使用。按“有帮助”数量排序。
还没有评价
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 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
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 104 tools.
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.
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.
METABASE_TOOLSETS=query), add or drop single tools with globsreadOnlyHint / destructiveHint / idempotentHint on every toolnpx, no installation neededClaude 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:
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 " } } } }
| Variable | Required | Description |
|---|---|---|
METABASE_URL | Yes | Base URL of your Metabase instance |
METABASE_API_KEY | No* | API key for authentication |
METABASE_EMAIL | No* | Email for session-based auth |
METABASE_PASSWORD | No* | Password for session-based auth |
METABASE_READ_ONLY_MODE | No | Set to true to disable write tools |
METABASE_CUSTOM_HEADERS | No | Extra HTTP headers sent on every request, including the session login (see below) |
METABASE_TOOLSETS | No | Comma list of toolsets or presets to load (default: all). See Toolsets |
METABASE_TOOLS_ENABLE | No | Extra tools to load on top of the toolsets (names or globs, e.g. get_card,export_*) |
METABASE_TOOLS_DISABLE | No | Tools never to load (names or globs); always wins over enable |
METABASE_MAX_ROWS | No | Row cap for query tools (default 500); see Large results |
METABASE_MAX_RESPONSE_CHARS | No | Size cap for any tool response (default 100000) |
MCP_TRANSPORT | No | stdio (default) or http. --http on the command line does the same |
MCP_HTTP_HOST / MCP_HTTP_PORT | No | HTTP bind address, default 127.0.0.1:3333 (PORT also works) |
MCP_HTTP_TOKEN | HTTP mode | Bearer token clients must send (min. 16 chars) |
MCP_HTTP_ALLOW_NO_AUTH | No | true 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.
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.
Each tool domain is a toolset (dashboards, users, transforms, ...; the full list is in Tools). Presets bundle them:
| Preset | For |
|---|---|
all | everything (default) |
query | exploring and querying data: search, databases, tables, dataset, cards, metrics, measures, segments, exports, activity, x-rays, explorations |
content | building and organising content: collections, cards, dashboards, documents, snippets, timelines, alerts, ... |
admin | running 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.
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.
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).
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