← Back to search

@serdnaley/metabase-mcp

GitHub Actions Scanned 5d ago

MCP server for Metabase — 128 tools for full API coverage: dashboards, questions, collections, users, permissions, alerts, settings, and more

npm
B
79.5 / 100

Versions

0.2.0latest
Apr 16, 2026
0.1.5
Apr 9, 2026
0.1.4
Apr 3, 2026
0.1.0
Apr 3, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 128

delete_card_public_link
annotations: none low

Remove the public sharing link from a card

card_id number
list_alerts
annotations: none low

List all alerts configured in Metabase

get_alert
annotations: none low

Get details of a specific alert

id number
list_dashboard_subscriptions
annotations: none low

List email/Slack subscriptions for a dashboard

dashboard_id number
create_alert
annotations: none low

Create an alert on a saved question. Alerts notify recipients via email or Slack when query results meet a condition.

card_id number
update_alert
annotations: none low

Update an existing alert. Only the fields you provide will be changed.

id number
delete_alert
annotations: none low

Delete an alert

id number
create_dashboard_subscription
annotations: none low

Create an email or Slack subscription for a dashboard. Subscriptions deliver a snapshot of the dashboard on a schedule.

dashboard_id number
update_dashboard_subscription
annotations: none low

Update a dashboard subscription (schedule, channels, parameters)

id number
delete_dashboard_subscription
annotations: none low

Delete a dashboard subscription

id number
create_moderation_review
annotations: none low

Mark a card or dashboard as verified or remove verification (Pro/Enterprise)

moderated_item_id number
get_activity
annotations: none low

Get recent activity feed (user actions, views, etc.)

list_tasks
annotations: none low

List all scheduled background tasks and their status

get_task
annotations: none low

Get details of a specific background task

id number
list_revisions
annotations: none low

List revision history for a card or dashboard

id number
revert_revision
annotations: none low

Revert a card or dashboard to a prior revision

id number revision_id number
get_table
annotations: none low

Get table details and field info

id number
get_table_query_metadata
annotations: none low

Get full query metadata for a table (fields, FKs, metrics)

id number
get_field
annotations: none low

Get field details including type, special type, fingerprint

id number
get_field_values
annotations: none low

Get sample values for a field

id number
update_table
annotations: none low

Update table display name, description, visibility type, or entity type

id number description string entity_type string display_name string visibility_type string
update_field
annotations: none low

Update field display name, description, semantic type, visibility, or FK target

id number description string display_name string semantic_type string visibility_type string has_field_values string coercion_strategy string fk_target_field_id number
rescan_field_values
annotations: none low

Trigger a re-scan of field values used to populate filter dropdowns

id number
discard_field_values
annotations: none low

Clear cached field values for a field

id number
reorder_fields
annotations: none low

Set a custom field ordering for a table by providing an ordered list of field IDs

id number
translate_entity_ids
annotations: none low

Translate serialization entity IDs to API integer IDs

list_timelines
annotations: none low

List all timelines

collection_id number
get_timeline
annotations: none low

Get a timeline by ID

id number
create_timeline
annotations: none low

Create a timeline for annotating charts

icon string name string default boolean collection_id number
update_timeline
annotations: none low

Update a timeline

id number icon string name string default boolean archived boolean
delete_timeline
annotations: none low

Delete a timeline

id number
create_timeline_event
annotations: none low

Create an event on a timeline

icon string name string timezone string timestamp string description string timeline_id number
update_timeline_event
annotations: none low

Update a timeline event

id number icon string name string archived boolean timestamp string description string
delete_timeline_event
annotations: none low

Delete a timeline event

id number
upload_csv
annotations: none low

Upload a CSV file as a new table in Metabase

csv_data string table_name string collection_id number
generate_xray
annotations: none low

Generate an automatic X-ray exploratory dashboard for a table

table_id number
list_documents
annotations: none low

List all narrative analytics documents

get_document
annotations: none low

Get a document by ID

id number
create_document
annotations: none low

Create a narrative analytics document

name string collection_id number
update_document
annotations: none low

Update a document

id number name string archived boolean collection_id number
delete_document
annotations: none low

Delete a document

id number
get_permissions_graph
annotations: none low

Get the full data permissions graph (view-data and create-queries permissions per group per database)

get_collection_permissions
annotations: none low

Get the collection permissions graph (which groups can access which collections)

update_permissions_graph
annotations: none low

Update the data permissions graph. Must include the

update_collection_permissions
annotations: none low

Update the collection permissions graph. Must include the

list_segments
annotations: none low

List all segments

table_id number
get_segment
annotations: none low

Get segment by ID

id number
create_segment
annotations: none low

Create a new segment

name string table_id number description string
update_segment
annotations: none low

Update an existing segment

id number name string archived boolean description string
delete_segment
annotations: none low

Delete (archive) a segment

id number
list_cards
annotations: none low

List all saved questions

get_card
annotations: none low

Get card details (query definition, visualization settings)

id number
execute_card_query
annotations: none low

Run a saved question and return results. For parameterized cards, pass template tag values as key-value pairs (e.g. { fromDate:

card_id number
create_card
annotations: none low

Create a new question (native SQL or structured query)

name string
update_card
annotations: none low

Update question query, display, name, or other properties

id number name string display string archived boolean description string collection_id number enable_embedding boolean
delete_card
annotations: none low

Delete a card (question)

id number
copy_card
annotations: none low

Copy a card to a collection

id number collection_id number
create_card_public_link
annotations: none low

Generate a public sharing link for a card. Returns the card with a public_uuid field. The public URL is {metabase_url}/public/question/{uuid}. Public sharing must be enabled in Metabase admin settings.

card_id number
persist_model
annotations: none low

Enable persistence (materialization) for a model card

card_id number
unpersist_model
annotations: none low

Disable persistence (materialization) for a model card

card_id number
refresh_persisted_model
annotations: none low

Manually trigger a refresh of the materialized data for a persisted model

card_id number
list_users
annotations: none low

List all Metabase users. Supports optional search query to filter by name or email.

query string
get_user
annotations: none low

Get a Metabase user by ID

id number
get_current_user
annotations: none low

Get the currently authenticated Metabase user

list_groups
annotations: none low

List all Metabase permission groups

create_user
annotations: none low

Create a new Metabase user

email string password string last_name string first_name string
update_user
annotations: none low

Update an existing Metabase user. Only provided fields will be updated.

id number email string locale string last_name string first_name string
deactivate_user
annotations: none low

Deactivate a Metabase user (soft-delete). The user record is retained but access is disabled.

id number
reactivate_user
annotations: none low

Reactivate a previously deactivated Metabase user

id number
create_group
annotations: none low

Create a new Metabase permission group

name string
update_group
annotations: none low

Update the name of a Metabase permission group

id number name string
delete_group
annotations: none low

Delete a Metabase permission group

id number
add_group_member
annotations: none low

Add a user to a Metabase permission group

user_id number group_id number
remove_group_member
annotations: none low

Remove a user from a Metabase permission group by membership ID

membership_id number
list_snippets
annotations: none low

List all SQL snippets

get_snippet
annotations: none low

Get a SQL snippet by ID

id number
create_snippet
annotations: none low

Create a reusable SQL snippet

name string content string description string collection_id number
update_snippet
annotations: none low

Update a SQL snippet

id number name string content string archived boolean description string
delete_snippet
annotations: none low

Archive (soft-delete) a SQL snippet

id number
list_bookmarks
annotations: none low

List all bookmarks for the current user

create_bookmark
annotations: none low

Bookmark a card, dashboard, or collection

item_id number
delete_bookmark
annotations: none low

Remove a bookmark from a card, dashboard, or collection

item_id number
list_databases
annotations: none low

List all databases the user has access to

get_database
annotations: none low

Get database details by ID

id number
get_database_metadata
annotations: none low

Get full database metadata: tables, fields, types, relationships

id number
list_database_schemas
annotations: none low

List schemas in a database

id number
get_database_schema
annotations: none low

Get tables within a specific database schema

id number schema string
create_database
annotations: none low

Add a new database connection to Metabase

name string engine string
update_database
annotations: none low

Update an existing database connection configuration

id number name string engine string is_full_sync boolean auto_run_queries boolean
delete_database
annotations: none low

Delete a database connection from Metabase

id number
validate_database
annotations: none low

Test database connection parameters before saving to verify credentials and connectivity

engine string
sync_database_schema
annotations: none low

Trigger a schema resync on a database (use after DDL changes to pick up new or modified tables)

id number
notify_database
annotations: none low

Send a post-ETL pipeline notification to trigger a schema sync on a database

id number
invalidate_cache
annotations: none low

Invalidate cached query results

card number database number dashboard number
update_cache_config
annotations: none low

Update cache strategy for a model (database, dashboard, or card)

model string model_id number
execute_query
annotations: none low

Run an ad-hoc query (native SQL or structured) and return results

query string database number
list_glossary_terms
annotations: none low

List all business glossary terms

get_glossary_term
annotations: none low

Get a glossary term by ID

id number
create_glossary_term
annotations: none low

Create a business glossary term

term string definition string
update_glossary_term
annotations: none low

Update a glossary term

id number term string definition string
delete_glossary_term
annotations: none low

Delete a glossary term

id number
list_actions
annotations: none low

List all actions

model_id number
get_action
annotations: none low

Get action details

action_id number
create_action
annotations: none low

Create a new action (query or implicit only — HTTP actions are not supported)

name string model_id number database_id number description string
update_action
annotations: none low

Update an action (cannot change type to http)

id number name string database_id number description string
delete_action
annotations: none low

Delete an action

action_id number
execute_action
annotations: none low

Run an action with optional parameters

id number
create_action_public_link
annotations: none low

Generate a public link for an action form

action_id number
delete_action_public_link
annotations: none low

Remove the public link from an action

action_id number
search
annotations: none low

Search across all Metabase entities (cards, dashboards, collections, tables, etc.)

q string archived boolean collection string
get_collection_tree
annotations: none low

Get the full collection hierarchy as a tree

list_collections
annotations: none low

List all collections

personal_only boolean
get_collection
annotations: none low

Get collection details

id number
list_collection_items
annotations: none low

List items in a collection (cards, dashboards, sub-collections)

id number archived boolean
create_collection
annotations: none low

Create a new collection

name string parent_id number description string
update_collection
annotations: none low

Update collection properties

id number name string archived boolean parent_id number description string
list_settings
annotations: none low

List all Metabase instance settings

get_setting
annotations: none low

Get a specific Metabase setting value

key string
update_setting
annotations: none low

Update a Metabase setting value

key string value unknown
list_dashboards
annotations: none low

List all dashboards

get_dashboard
annotations: none low

Get dashboard with all cards and layout

id number
create_dashboard
annotations: none low

Create a new dashboard

name string description string collection_id number
update_dashboard
annotations: none low

Update dashboard properties (name, description, filters)

id number name string archived boolean description string collection_id number enable_embedding boolean
delete_dashboard
annotations: none low

Delete a dashboard

id number
copy_dashboard
annotations: none low

Copy a dashboard to a collection

name string description string is_deep_copy boolean collection_id number from_dashboard_id number
update_dashboard_cards
annotations: none low

Add, remove, or reposition cards on a dashboard

id number col number row number size_x number size_y number card_id number
create_dashboard_public_link
annotations: none low

Generate a public sharing link for a dashboard. Returns the dashboard with a public_uuid field. The public URL is {metabase_url}/public/dashboard/{uuid}. Public sharing must be enabled in Metabase admin settings.

dashboard_id number
delete_dashboard_public_link
annotations: none low

Remove the public sharing link from a dashboard

dashboard_id number

Permissions 3

network medium
Server uses network capabilities via: fetch()
filesystem low
Server uses filesystem capabilities via: fs
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 0

No scan findings.