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.
Release files for metabase-mcp-pro 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| metabase_mcp_pro-0.1.2.tar.gz | 38.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| metabase_mcp_pro-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.9 kB
Release files / metabase_mcp_pro-0.1.2.tar.gz
| Download URL | metabase_mcp_pro-0.1.2.tar.gz |
|---|---|
| Size | 38.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6c0df807f1d9c7fdded68afaf50522ee3714f736964e67ba5fe782306b1f6964
|
|
BLAKE2b-256 checksum How to use checksums |
bd5c14985dd7284855221a7779decd387733d3a4c9c95d3b7287068d636ce4ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","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}
|
Release files / metabase_mcp_pro-0.1.2-py3-none-any.whl
| Download URL | metabase_mcp_pro-0.1.2-py3-none-any.whl |
|---|---|
| Size | 17.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
83afb7d07adc6985370fdfbc5a856d5070015c580b14fb688efaa1959f190b99
|
|
BLAKE2b-256 checksum How to use checksums |
4b3081109969e26471e2d29fc8e5a98f53da7e16f0ef2c7f59e3f05a184faa7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","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}
|