Metabase MCP

Metabase MCP

A comprehensive MCP server for Metabase with 70+ tools.

701

2

28 Tools

Signed
Built by Docker
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

About

MetaBase MCP MCP Server

A MCP server for Metabase integration.

What is an MCP Server?

Characteristics

AttributeDetails
Docker Imagemcp/metabase
Authoreasecloudio
Repositoryhttps://github.com/easecloudio/mcp-metabase-server
Dockerfilehttps://github.com/easecloudio/mcp-metabase-server/blob/main/Dockerfile
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/metabase --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (28)

Tools provided by this ServerShort Description
add_card_to_dashboardAdd a card to a dashboard with positioning
create_cardCreate a new Metabase question (card)
create_collectionCreate a new Metabase collection
create_dashboardCreate a new Metabase dashboard
create_database_connectionCreate a new database connection
create_permission_groupCreate a new permission group
create_userCreate a new Metabase user
delete_cardDelete a Metabase question (card)
delete_dashboardDelete a Metabase dashboard
execute_cardExecute a Metabase question/card and get results
execute_queryExecute a SQL query against a Metabase database
get_dashboard_cardsGet all cards in a dashboard
get_database_schemaGet the schema information for a database
get_database_sync_statusGet database schema sync status
get_database_tablesGet all tables in a database
list_cardsList all questions/cards in Metabase
list_collectionsList all collections in Metabase
list_dashboardsList all dashboards in Metabase
list_databasesList all databases in Metabase
list_permission_groupsList all permission groups
list_usersList all users in Metabase
remove_card_from_dashboardRemove a card from a dashboard
search_contentSearch across all Metabase content
sync_database_schemaSync database schema metadata
test_database_connectionTest a database connection
update_cardUpdate an existing Metabase question (card)
update_dashboardUpdate an existing Metabase dashboard
update_dashboard_cardUpdate card position, size, and settings on a dashboard

Tools Details

Tool: add_card_to_dashboard

Add a card to a dashboard with positioning

ParametersTypeDescription
card_idnumberID of the card to add
dashboard_idnumberID of the dashboard
colnumberoptionalColumn position (0-based)
parameter_mappingsarrayoptionalParameter mappings between dashboard and card
rownumberoptionalRow position (0-based)
size_xnumberoptionalWidth in grid units
size_ynumberoptionalHeight in grid units
visualization_settingsobjectoptionalVisualization settings for the card on this dashboard

Tool: create_card

Create a new Metabase question (card)

ParametersTypeDescription
dataset_queryobjectThe query for the card (e.g., MBQL or native query)
displaystringDisplay type (e.g., 'table', 'line', 'bar')
namestringName of the card
visualization_settingsobjectSettings for the visualization
collection_idnumberoptionalOptional ID of the collection to save the card in
descriptionstringoptionalOptional description for the card

Tool: create_collection

Create a new Metabase collection

ParametersTypeDescription
namestringName of the collection
colorstringoptionalColor of the collection
descriptionstringoptionalDescription of the collection
parent_idnumberoptionalParent collection ID (null for root level)

Tool: create_dashboard

Create a new Metabase dashboard

ParametersTypeDescription
namestringName of the dashboard
collection_idnumberoptionalOptional ID of the collection to save the dashboard in
descriptionstringoptionalOptional description for the dashboard
parametersarrayoptionalOptional parameters for the dashboard

Tool: create_database_connection

Create a new database connection

ParametersTypeDescription
detailsobjectConnection details (host, port, dbname, user, etc.)
enginestringDatabase engine (e.g., 'postgres', 'mysql', 'h2')
namestringName of the database connection
auto_run_queriesbooleanoptionalWhether to auto-run queries
is_full_syncbooleanoptionalWhether to perform full schema sync

Tool: create_permission_group

Create a new permission group

ParametersTypeDescription
namestringName of the permission group

Tool: create_user

Create a new Metabase user

ParametersTypeDescription
emailstringUser's email address
first_namestringUser's first name
last_namestringUser's last name
group_idsarrayoptionalArray of group IDs to assign user to
passwordstringoptionalUser's password

Tool: delete_card

Delete a Metabase question (card)

ParametersTypeDescription
card_idnumberID of the card to delete
hard_deletebooleanoptionalSet to true for hard delete, false (default) for archive

Tool: delete_dashboard

Delete a Metabase dashboard

ParametersTypeDescription
dashboard_idnumberID of the dashboard to delete
hard_deletebooleanoptionalSet to true for hard delete, false (default) for archive

Tool: execute_card

Execute a Metabase question/card and get results

ParametersTypeDescription
card_idnumberID of the card/question to execute
parametersobjectoptionalOptional parameters for the query

Tool: execute_query

Execute a SQL query against a Metabase database

ParametersTypeDescription
database_idnumberID of the database to query
querystringSQL query to execute
native_parametersarrayoptionalOptional parameters for the query

Tool: get_dashboard_cards

Get all cards in a dashboard

ParametersTypeDescription
dashboard_idnumberID of the dashboard

Tool: get_database_schema

Get the schema information for a database

ParametersTypeDescription
database_idnumberID of the database

Tool: get_database_sync_status

Get database schema sync status

ParametersTypeDescription
database_idnumberID of the database

Tool: get_database_tables

Get all tables in a database

ParametersTypeDescription
database_idnumberID of the database

Tool: list_cards

List all questions/cards in Metabase

Tool: list_collections

List all collections in Metabase

ParametersTypeDescription
archivedbooleanoptionalInclude 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

ParametersTypeDescription
include_deactivatedbooleanoptionalInclude deactivated users

Tool: remove_card_from_dashboard

Remove a card from a dashboard

ParametersTypeDescription
dashboard_idnumberID of the dashboard
dashcard_idnumberID of the dashboard card (not the card itself)

Tool: search_content

Search across all Metabase content

ParametersTypeDescription
querystringSearch query
modelsarrayoptionalFilter by content types

Tool: sync_database_schema

Sync database schema metadata

ParametersTypeDescription
database_idnumberID of the database to sync

Tool: test_database_connection

Test a database connection

ParametersTypeDescription
connection_detailsobjectoptionalConnection details to test (optional)
database_idnumberoptionalID of the database to test

Tool: update_card

Update an existing Metabase question (card)

ParametersTypeDescription
card_idnumberID of the card to update
archivedbooleanoptionalSet to true to archive the card
collection_idnumberoptionalNew collection ID
dataset_queryobjectoptionalNew query for the card
descriptionstringoptionalNew description
displaystringoptionalNew display type
namestringoptionalNew name for the card
visualization_settingsobjectoptionalNew visualization settings

Tool: update_dashboard

Update an existing Metabase dashboard

ParametersTypeDescription
dashboard_idnumberID of the dashboard to update
archivedbooleanoptionalSet to true to archive the dashboard
collection_idnumberoptionalNew collection ID
descriptionstringoptionalNew description for the dashboard
namestringoptionalNew name for the dashboard
parametersarrayoptionalNew parameters for the dashboard

Tool: update_dashboard_card

Update card position, size, and settings on a dashboard

ParametersTypeDescription
dashboard_idnumberID of the dashboard
dashcard_idnumberID of the dashboard card
colnumberoptionalNew column position
parameter_mappingsarrayoptionalUpdated parameter mappings
rownumberoptionalNew row position
size_xnumberoptionalNew width in grid units
size_ynumberoptionalNew height in grid units
visualization_settingsobjectoptionalUpdated 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?

Manual installation

You can install the MCP server using:

Installation for

Related servers