mcp/metabase

Verified Publisher

By mcp

Updated 11 months ago

A comprehensive MCP server for Metabase with 70+ tools.

Image
Machine learning & AI
3

10K+

mcp/metabase repository overview

Metabase MCP Server

A comprehensive MCP server for Metabase with 70+ tools.

What is an MCP Server?

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/easecloudio/mcp-metabase-server/blob/8a4dfce8afd45ead9cc4c2764f41ace6f91adf66/Dockerfile
Commit8a4dfce8afd45ead9cc4c2764f41ace6f91adf66
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
colnumber optionalColumn position (0-based)
parameter_mappingsarray optionalParameter mappings between dashboard and card
rownumber optionalRow position (0-based)
size_xnumber optionalWidth in grid units
size_ynumber optionalHeight in grid units
visualization_settingsobject optionalVisualization 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_idnumber optionalOptional ID of the collection to save the card in
descriptionstring optionalOptional description for the card

Tool: create_collection

Create a new Metabase collection

ParametersTypeDescription
namestringName of the collection
colorstring optionalColor of the collection
descriptionstring optionalDescription of the collection
parent_idnumber optionalParent collection ID (null for root level)

Tool: create_dashboard

Create a new Metabase dashboard

ParametersTypeDescription
namestringName of the dashboard
collection_idnumber optionalOptional ID of the collection to save the dashboard in
descriptionstring optionalOptional description for the dashboard
parametersarray optionalOptional 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_queriesboolean optionalWhether to auto-run queries
is_full_syncboolean optionalWhether 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_idsarray optionalArray of group IDs to assign user to
passwordstring optionalUser's password

Tool: delete_card

Delete a Metabase question (card)

ParametersTypeDescription
card_idnumberID of the card to delete
hard_deleteboolean optionalSet 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_deleteboolean optionalSet 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
parametersobject optionalOptional 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_parametersarray optionalOptional 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
archivedboolean optionalInclude 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_deactivatedboolean optionalInclude 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
modelsarray optionalFilter 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_detailsobject optionalConnection details to test (optional)
database_idnumber optionalID of the database to test

Tool: update_card

Update an existing Metabase question (card)

ParametersTypeDescription
card_idnumberID of the card to update
archivedboolean optionalSet to true to archive the card
collection_idnumber optionalNew collection ID
dataset_queryobject optionalNew query for the card
descriptionstring optionalNew description
displaystring optionalNew display type
namestring optionalNew name for the card
visualization_settingsobject optionalNew visualization settings

Tool: update_dashboard

Update an existing Metabase dashboard

ParametersTypeDescription
dashboard_idnumberID of the dashboard to update
archivedboolean optionalSet to true to archive the dashboard
collection_idnumber optionalNew collection ID
descriptionstring optionalNew description for the dashboard
namestring optionalNew name for the dashboard
parametersarray optionalNew 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
colnumber optionalNew column position
parameter_mappingsarray optionalUpdated parameter mappings
rownumber optionalNew row position
size_xnumber optionalNew width in grid units
size_ynumber optionalNew height in grid units
visualization_settingsobject optionalUpdated 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?

Install from MCP:Hub

Tag summary

Content type

Image

Digest

sha256:02e633ae7

Size

45.4 MB

Last updated

11 months ago

docker pull mcp/metabase

This week's pulls

Pulls:

1,616

Jul 6 to Jul 12