Agent-first Metabase MCP server with a pluggable, table-scoped query-guardrail layer.
Project description
metabase-mcp-pro
An agent-first Model Context Protocol (MCP) server for Metabase with a pluggable, table-scoped query-guardrail layer.
It combines the lean ergonomics of Metabase's first-party MCP (guided MBQL builder, URI-addressed reads, pagination) with the full reach of the Metabase REST API (models, metrics, dashboards, admin — plus a generic API passthrough so nothing is out of reach), and adds the layer neither has: query guardrails that are safe-by-default, explicitly overridable, and never silently filter, plus an output sanitizer that strips connection secrets and trims token bloat.
White-label
No embedded brand, no environment defaults, no shipped table registry. Everything organization-specific (which tables are CDC, which need crawler exclusion, the vetted-query catalog) is supplied at runtime via env / config.
Configure
| Env var | Purpose |
|---|---|
METABASE_URL |
Metabase base URL (required; no default) |
METABASE_API_KEY |
API key, sent as x-api-key |
METABASE_MCP_GUARDRAILS_CONFIG |
path to a guardrails.yaml (see examples/) |
METABASE_MCP_READONLY |
1 to hard-disable all writes |
Run
uvx metabase-mcp-pro
Requires only uv — it installs the package from PyPI on demand.
Use it in another project
It's white-label, so any project reuses it by adding one MCP-server entry and supplying its own config. Drop this into a plugin manifest's mcpServers (or ~/.claude.json):
"metabase": {
"command": "uvx",
"args": ["metabase-mcp-pro"],
"env": {
"METABASE_URL": "https://metabase.your-org.com",
"METABASE_API_KEY": "...",
"METABASE_MCP_GUARDRAILS_CONFIG": "/path/to/your-project/guardrails.yaml"
}
}
Each consumer brings its own METABASE_URL, API key, and guardrails.yaml (start from examples/guardrails.example.yaml) — nothing project-specific is baked into the package.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file metabase_mcp_pro-0.1.1.tar.gz.
File metadata
- Download URL: metabase_mcp_pro-0.1.1.tar.gz
- Upload date:
- Size: 38.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3b8de858c0328ce533e7655448f5cbd1d44aeec0da4a7c599dc627b8f24a966
|
|
| MD5 |
ac879cbff770422c865eff54e1ac57fb
|
|
| BLAKE2b-256 |
a94c7b3a12c5bb0f5f2bd8e585ac92ea034fd074ccc825648da2b50f089c6c91
|
File details
Details for the file metabase_mcp_pro-0.1.1-py3-none-any.whl.
File metadata
- Download URL: metabase_mcp_pro-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16274f5a9426a807240c928e702b367f022b96a47f0e9d5e1469cd86426f0b8c
|
|
| MD5 |
db3839dc9f83ad951879d0d1b1567ddb
|
|
| BLAKE2b-256 |
f60a06fa9a6832e748e1c953e53c23aa8785571c0fb1f18e736657326f9a4065
|