LabStore
← All labs

Metabase

by docker ✓ verified ✓ Packaged by Docker

A comprehensive MCP server for Metabase with 70+ tools.

MCP server installable needs setup network: on runtime: sysbox

Analytics MCP Servers

Metabase MCP Server

A comprehensive MCP server for Metabase with 70+ tools.

What is an MCP Server?

MCP Info

Attribute Details
Docker Image mcp/metabase
Author easecloudio
Repository https://github.com/easecloudio/mcp-metabase-server

Image Building Info

Attribute Details
Dockerfile https://github.com/easecloudio/mcp-metabase-server/blob/8a4dfce8afd45ead9cc4c2764f41ace6f91adf66/Dockerfile
Commit 8a4dfce8afd45ead9cc4c2764f41ace6f91adf66
Docker Image built by Docker Inc.
Docker Scout Health Score Docker Scout Health Score
Verify Signature COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/metabase --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
Licence MIT License

Available Tools (28)

Tools provided by this Server Short Description
add_card_to_dashboard Add a card to a dashboard with positioning
create_card Create a new Metabase question (card)
create_collection Create a new Metabase collection
create_dashboard Create a new Metabase dashboard
create_database_connection Create a new database connection
create_permission_group Create a new permission group
create_user Create a new Metabase user
delete_card Delete a Metabase question (card)
delete_dashboard Delete a Metabase dashboard
execute_card Execute a Metabase question/card and get results
execute_query Execute a SQL query against a Metabase database
get_dashboard_cards Get all cards in a dashboard
get_database_schema Get the schema information for a database
get_database_sync_status Get database schema sync status
get_database_tables Get all tables in a database
list_cards List all questions/cards in Metabase
list_collections List all collections in Metabase
list_dashboards List all dashboards in Metabase
list_databases List all databases in Metabase
list_permission_groups List all permission groups
list_users List all users in Metabase
remove_card_from_dashboard Remove a card from a dashboard
search_content Search across all Metabase content
sync_database_schema Sync database schema metadata
test_database_connection Test a database connection
update_card Update an existing Metabase question (card)
update_dashboard Update an existing Metabase dashboard
update_dashboard_card Update card position, size, and settings on a dashboard

Tools Details

Tool: add_card_to_dashboard

Add a card to a dashboard with positioning

Parameters Type Description
card_id number ID of the card to add
dashboard_id number ID of the dashboard
col number optional Column position (0-based)
parameter_mappings array optional Parameter mappings between dashboard and card
row number optional Row position (0-based)
size_x number optional Width in grid units
size_y number optional Height in grid units
visualization_settings object optional Visualization settings for the card on this dashboard

Tool: create_card

Create a new Metabase question (card)

Parameters Type Description
dataset_query object The query for the card (e.g., MBQL or native query)
display string Display type (e.g., 'table', 'line', 'bar')
name string Name of the card
visualization_settings object Settings for the visualization
collection_id number optional Optional ID of the collection to save the card in
description string optional Optional description for the card

Tool: create_collection

Create a new Metabase collection

Parameters Type Description
name string Name of the collection
color string optional Color of the collection
description string optional Description of the collection
parent_id number optional Parent collection ID (null for root level)

Tool: create_dashboard

Create a new Metabase dashboard

Parameters Type Description
name string Name of the dashboard
collection_id number optional Optional ID of the collection to save the dashboard in
description string optional Optional description for the dashboard
parameters array optional Optional parameters for the dashboard

Tool: create_database_connection

Create a new database connection

Parameters Type Description
details object Connection details (host, port, dbname, user, etc.)
engine string Database engine (e.g., 'postgres', 'mysql', 'h2')
name string Name of the database connection
auto_run_queries boolean optional Whether to auto-run queries
is_full_sync boolean optional Whether to perform full schema sync

Tool: create_permission_group

Create a new permission group

Parameters Type Description
name string Name of the permission group

Tool: create_user

Create a new Metabase user

Parameters Type Description
email string User's email address
first_name string User's first name
last_name string User's last name
group_ids array optional Array of group IDs to assign user to
password string optional User's password

Tool: delete_card

Delete a Metabase question (card)

Parameters Type Description
card_id number ID of the card to delete
hard_delete boolean optional Set to true for hard delete, false (default) for archive

Tool: delete_dashboard

Delete a Metabase dashboard

Parameters Type Description
dashboard_id number ID of the dashboard to delete
hard_delete boolean optional Set to true for hard delete, false (default) for archive

Tool: execute_card

Execute a Metabase question/card and get results

Parameters Type Description
card_id number ID of the card/question to execute
parameters object optional Optional parameters for the query

Tool: execute_query

Execute a SQL query against a Metabase database

Parameters Type Description
database_id number ID of the database to query
query string SQL query to execute
native_parameters array optional Optional parameters for the query

Tool: get_dashboard_cards

Get all cards in a dashboard

Parameters Type Description
dashboard_id number ID of the dashboard

Tool: get_database_schema

Get the schema information for a database

Parameters Type Description
database_id number ID of the database

Tool: get_database_sync_status

Get database schema sync status

Parameters Type Description
database_id number ID of the database

Tool: get_database_tables

Get all tables in a database

Parameters Type Description
database_id number ID of the database

Tool: list_cards

List all questions/cards in Metabase

Tool: list_collections

List all collections in Metabase

Parameters Type Description
archived boolean optional Include archived collections

Tool: list_dashboards

List all dashboards in Metabase

Tool: list_databases

List all databases in Metabase

Tool: list_permission_groups

List all permission groups

Tool: list_users

List all users in Metabase

Parameters Type Description
include_deactivated boolean optional Include deactivated users

Tool: remove_card_from_dashboard

Remove a card from a dashboard

Parameters Type Description
dashboard_id number ID of the dashboard
dashcard_id number ID of the dashboard card (not the card itself)

Tool: search_content

Search across all Metabase content

Parameters Type Description
query string Search query
models array optional Filter by content types

Tool: sync_database_schema

Sync database schema metadata

Parameters Type Description
database_id number ID of the database to sync

Tool: test_database_connection

Test a database connection

Parameters Type Description
connection_details object optional Connection details to test (optional)
database_id number optional ID of the database to test

Tool: update_card

Update an existing Metabase question (card)

Parameters Type Description
card_id number ID of the card to update
archived boolean optional Set to true to archive the card
collection_id number optional New collection ID
dataset_query object optional New query for the card
description string optional New description
display string optional New display type
name string optional New name for the card
visualization_settings object optional New visualization settings

Tool: update_dashboard

Update an existing Metabase dashboard

Parameters Type Description
dashboard_id number ID of the dashboard to update
archived boolean optional Set to true to archive the dashboard
collection_id number optional New collection ID
description string optional New description for the dashboard
name string optional New name for the dashboard
parameters array optional New parameters for the dashboard

Tool: update_dashboard_card

Update card position, size, and settings on a dashboard

Parameters Type Description
dashboard_id number ID of the dashboard
dashcard_id number ID of the dashboard card
col number optional New column position
parameter_mappings array optional Updated parameter mappings
row number optional New row position
size_x number optional New width in grid units
size_y number optional New height in grid units
visualization_settings object optional Updated visualization settings

Use this MCP Server

{
  "mcpServers": {
    "metabase": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "METABASE_URL",
        "-e",
        "METABASE_USERNAME",
        "-e",
        "METABASE_API_KEY",
        "-e",
        "METABASE_PASSWORD",
        "mcp/metabase"
      ],
      "env": {
        "METABASE_URL": "https://app.metabase.com",
        "METABASE_USERNAME": "youruser",
        "METABASE_API_KEY": "metabase api key",
        "METABASE_PASSWORD": "yourpassword"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?