Labsco
MCP SERVER

Metabase Server

by imlewc

Build and run Metabase from your client: execute a saved question or raw SQL, assemble a dashboard and wire its filters to card variables, and administer collections, groups and users.

Data Platform: Pipelines, Warehousing, BI & GovernanceVerified
Summary
Dashboard plumbing that normally takes a dozen clicks collapses into one sequence of calls.

The valuable half is what the Metabase UI makes tedious: template-tags on a native query, filter parameters on a dashboard, and the mapping between the two, all reachable through get_card, update_card and update_dashboard_cards. The other half is administration — users, groups, the permissions graph — which puts real authority behind a username and password. Deletes lean toward archiving by default, with hard_delete the flag you have to set on purpose.

What it is

A server over a Metabase instance's API covering questions, dashboards, collections, permission groups and users in 33 tools.

What you get
  • Cards read, run and rewritten — get_card returns the dataset_query including the template-tags that define each variable, and update_card writes them back
  • Raw SQL against any Metabase-registered database through execute_query, with native_parameters and a max_rows cap
  • Dashboard assembly end to end: create it, place cards at a row and column with a size, add filter parameters, then map those filters onto card variables with update_dashboard_cards
  • Collections created, re-parented and permissioned, with the collection permissions graph readable and settable per group
  • User administration that mirrors Metabase's own model — create, update, add to and remove from groups, and disable rather than delete
  • Archiving as the default retirement path on cards, dashboards and collections, with hard_delete as a separate explicit flag
Requirements

METABASE_URL, METABASE_USERNAME and METABASE_PASSWORD — a session login rather than a scoped API key, so whatever that account can reach in Metabase is what these tools can reach, including create_user and update_collection_permissions.

Setup effort

Build from source — clone the repository and build it, then point your client at the binary