100+ integrations are ready to connect to your AI.Connect your first MCP

Metabase MCP server for your AI

Ask what a dashboard says today, run a saved question with a different filter, explore a table and write the SQL, then save the result as a question on a new dashboard.

PopMCPMetabase

Find our revenue dashboard and tell me what changed in the numbers it shows

Supported Metabase tools

Every Metabase API endpoint an API key can call, on Metabase Cloud or your own server, with query results reduced to columns and rows, failed queries reported as errors, and secrets kept out of view.

662 tools in the full catalog: 368 read and 294 write. 42 load by default, and the rest are found with tool search.

A sample of the 662 in the full catalog. The rest stay reachable through tool search.

metabase_describe_database

See what is in a database before writing SQL.

metabase_get_database

Get a single Database with `id`.

metabase_list_databases

Fetch all `Databases`.

metabase_add_questions_to_dashboard

Add saved questions to a dashboard, placed below what is there.

metabase_copy_dashboard

Copy a Dashboard.

metabase_create_dashboard

Create a new Dashboard.

metabase_get_dashboard

Get Dashboard with ID.

metabase_get_dashboard_results

Read the data on a dashboard: runs its cards (8 by default) with its filters and returns each card's name, columns and first rows.

metabase_update_dashboard

Update a Dashboard, and optionally the `dashcards` and `tabs` of a Dashboard.

metabase_copy_question

Copy a `Card`, with the new name 'Copy of _name_'

metabase_create_question

Create a new `Card`.

metabase_create_sql_question

Save SQL as a question in Metabase, with the query envelope and required fields filled in.

metabase_export_question_results

Run the query associated with a Card, and return its results as a file in the specified format.

metabase_get_question

Get `Card` with ID.

metabase_list_questions

Get all the Cards.

metabase_run_question

Run a saved question or model by id or URL and get columns and rows.

metabase_update_question

Update a `Card`.

metabase_list_groups

Fetch all `PermissionsGroups`, including a count of the number of `:members` in that group.

metabase_create_collection

Create a new Collection.

metabase_get_collection

Fetch a specific Collection with standard details added

metabase_list_collection_items

Fetch a specific Collection's items with the following options: * `models` - only include objects of a specific set of `models`.

metabase_list_collections

Fetch a list of all Collections that the current user has read permissions for (`:can_write` is returned as an additional property of each Collection so you can tell which of these you have write permissions for.) By default, this returns non-archived Collections, but instead you can show archived ones by passing `?archived=true`.

metabase_list_root_collection_items

Fetch objects that the current user should see at their root level.

metabase_update_collection

Modify an existing Collection, including archiving or unarchiving it, or moving it.

metabase_get_table_query_metadata

Get metadata about a `Table` useful for running queries.

metabase_list_tables

Get all `Tables`.

metabase_get_field_values

If a Field's value of `has_field_values` is `:list`, return a list of all the distinct values of the Field (or remapped Field), and (if defined by a User) a map of human-readable remapped values.

metabase_list_metrics

Get a list of metrics.

metabase_create_notification

Create a new notification, return the created notification.

metabase_list_notifications

List notifications.

metabase_create_timeline_event

Create a new TimelineEvent.

metabase_list_timelines

Fetch a list of `Timeline`s.

metabase_get_current_user

Fetch the current `User`.

metabase_list_dashboard_subscriptions

Fetch all dashboard subscriptions.

metabase_list_users

Fetch a list of `Users` for admins or group managers.

metabase_run_query

Execute a query and retrieve the results in the usual format.

metabase_run_sql

Run SQL on a database and get columns and rows.

metabase_list_segments

Fetch *all* `Segments`.

metabase_search

Search for items in Metabase.

metabase_list_popular_items

Get the list of 5 popular things on the instance.

metabase_list_recent_items

Get a list of recent items the current user has been viewing most recently under the `:recents` key.

metabase_overview

Start here.

metabase_acknowledge_security_advisories

Acknowledge multiple security advisories.

metabase_cancel_transform

Cancel the current run for a given transform.

metabase_add_database

Add a new `Database`.

metabase_execute_public_action

Execute the Action.

metabase_create_dashboard_public_link

Generate publicly-accessible links for this Dashboard.

metabase_delete_metabot_prompt_suggestion

Delete the prompt suggestion with ID `prompt-id` for the metabot instance with `id`.

metabase_add_group_member

Add a `User` to a `PermissionsGroup`.

metabase_agent_construct_native_query

Construct a native (raw SQL) query against a database.

metabase_disable_advanced_ai_mcp_permissions

Switch back to All Users only.

metabase_create_question_public_link

Generate publicly-accessible links for this Card.

metabase_export_embed_card_results

Like `GET /api/embed/card/query`, but returns the results as a file in the specified format.

metabase_append_csv_to_table

Inserts the rows of an uploaded CSV file into the table identified by `:id`.

metabase_append_exploration_summary

Append a static `cardEmbed` representing a *composite chart* — built from one or more `ExplorationQuery` snapshots combined into a single qp-result — to the exploration's Summary document.

metabase_cancel_remote_sync_current_task

Cancels the current task if one is running Pro or Enterprise feature.

metabase_add_app_group

Grant a batch of internal groups read access to a data app's resource collection atomically.

metabase_delete_collection

Deletes a collection permanently

metabase_delete_field_dimension

Remove the dimension associated to field at ID

metabase_add_metric_dimension

Add dimensions to a metric.

metabase_get_xray

Return an automagic dashboard for entity `entity` with id `id`.

metabase_disable_database_persistence

Attempt to disable model persistence for a database.

metabase_get_preview_embed_card

Fetch a Card you're considering embedding by passing a JWT `token`.

metabase_create_action

Create a new action.

metabase_copy_document

Copy a Document.

metabase_admin_bulk_update_notifications

Bulk-archive or -change-creator a set of notifications.

metabase_create_timeline

Create a new Timeline.

metabase_create_dev_custom_viz_plugin

Register a dev-only custom visualization plugin from a local dev server.

metabase_data_studio_discard_values

Batch version of /table/:id/discard_values.

metabase_create_dashboard_subscription

Create a new `Pulse`.

metabase_convert_query_to_native

Fetch a native version of an MBQL query.

metabase_copy_embed_theme

Copy an embedding theme.

metabase_create_llm_provider

Create a provider connection.

metabase_create_measure

Create a new `Measure`.

metabase_get_task

Get `TaskHistory` entry with ID.

metabase_create_user

Create a new `User`, return a 400 if the email address is already taken

metabase_add_comment_reaction

Toggle a reaction on a comment

metabase_get_dependency_backfill_status

Whether no entity awaits the computation of its dependencies, as `complete`, for superusers.

metabase_create_row_sandbox

Create a new GTAP.

metabase_cancel_replacement_run

Cancel a running source replacement.

metabase_create_channel

Create a channel

metabase_debug_search

Superuser-only.

metabase_create_segment

Create a new `Segment`.

metabase_acknowledge_security_advisory

Acknowledge a security advisory.

metabase_cancel_transform_dag_run

Cancel an in-progress manual DAG run and request cancellation of its still-running transforms.

metabase_add_sample_database

Add the sample database as a new `Database`.

metabase_execute_public_dashboard_card_action

Execute the associated Action in the context of a `Dashboard` and `DashboardCard` that includes it.

metabase_delete_dashboard

Hard delete a Dashboard.

metabase_delete_metabot_prompt_suggestions

Delete all prompt suggestions for the metabot instance with `id`.

metabase_clear_group_members

Remove all members from a `PermissionsGroup`.

metabase_agent_construct_query

Construct an MBQL query from a portable MBQL 5 representations JSON payload.

metabase_disable_advanced_ai_permissions

Switch back to simple permissions.

metabase_delete_question

Hard delete a Card.

metabase_export_embed_dashboard_card_results

Fetch the results of running a Card belonging to a Dashboard using a JSON Web Token signed with the `embedding-secret-key` return the data in one of the export formats

metabase_bulk_update_tables

Update all `Table` in `ids`.

metabase_cancel_exploration_thread

Cancel an in-flight exploration thread.

metabase_create_remote_sync_branch

Create a new branch from the current remote-sync branch and switches the current remote-sync branch to it.

metabase_create_app

Create a data app with its resource collection and an empty bundle.

metabase_get_collection_items_metadata

Metadata about the collection's items list: the models with at least one visible item plus the item count.

metabase_discard_field_values

Discard the FieldValues belonging to this Field.

metabase_get_metric

Fetch a `Metric` with ID.

metabase_get_xray_cell

Return an automagic dashboard analyzing cell in automagic dashboard for entity `entity` defined by query `cell-query`.

metabase_disable_model_persistence

Disable global setting to allow databases to persist models.

metabase_get_preview_embed_card_param_remapping

Embedded version of api.card filter values endpoint.

metabase_create_action_public_link

Generate publicly-accessible links for this Action.

metabase_create_document

Create a new `Document`.

metabase_admin_get_notification

Get a single card-type notification with last_check, last_send, check_history (up to 10 most-recent terminal alert-type TaskRuns) and send_history (up to 10 most-recent channel-send delivery attempts).

metabase_delete_timeline

Delete a Timeline.

metabase_delete_custom_viz_plugin

Remove a custom visualization plugin and evict its on-disk cache.

metabase_data_studio_rescan_values

Batch version of /table/:id/rescan_values.

metabase_get_dashboard_subscription

Fetch `Pulse` with ID.

metabase_export_query_results

Execute a query and download the result data as a file in the specified format.

metabase_create_embed_theme

Create a new embedding theme.

metabase_delete_llm_provider

Delete a provider connection.

metabase_get_measure

Fetch `Measure` with ID.

metabase_get_task_info

Return raw data about all scheduled tasks (i.e., Quartz Jobs and Triggers).

metabase_deactivate_user

Disable a `User`.

metabase_create_comment

Create a new comment

metabase_get_dependency_graph

This endpoint takes an :id and a supported entity :type, and returns a graph of all its upstream dependencies.

metabase_delete_row_sandbox

Delete a GTAP entry.

metabase_check_source_replacement

Check whether a source entity can be replaced by a target entity.

metabase_get_channel

Get a channel

metabase_force_search_reindex

This will trigger an immediate reindexing, if we are using search index.

metabase_delete_segment

Archive a Segment.

metabase_adjust_log_levels

Temporarily adjust the log levels.

metabase_cancel_transform_job_run

Cancel an in-progress job run and request cancellation of its still-running transforms.

metabase_delete_database

Delete a `Database`.

metabase_export_public_card_results

Fetch a publicly-accessible Card and return query results in the specified format.

metabase_delete_dashboard_public_link

Delete the publicly-accessible link to this Dashboard.

metabase_fork_metabot_conversation

Fork a conversation at an assistant message, returning a brand-new conversation that copies the thread from the start up to and including that message.

metabase_create_group

Create a new `PermissionsGroup`.

metabase_agent_create_collection

Create a new Collection.

metabase_enable_advanced_ai_mcp_permissions

Switch to group-level MCP tool access.

metabase_delete_question_public_link

Delete the publicly-accessible link to this Card.

metabase_get_embed_card

Fetch a Card via a JSON Web Token signed with the `embedding-secret-key`.

metabase_discard_table_values

Discard the FieldValues belonging to the Fields in this Table.

metabase_create_exploration

Create a new exploration with a single thread, persist the user's selected metrics, dimensions, and timelines, and stamp the thread as started.

metabase_export_remote_sync

Export the current state of the Remote Sync collection to a Source.

metabase_delete_app

Delete a data app, its bundle, and its collection with the grants on it.

metabase_get_collection_permissions_graph

Fetch a graph of all Collection Permissions.

metabase_get_field

Get `Field` with ID.

metabase_get_metric_breakout_values

Fetch distinct breakout dimension values for a metric or measure definition.

metabase_get_xray_cell_compare

Return an automagic comparison dashboard for cell in automagic dashboard for entity `entity` with id `id` defined by query `cell-query`; compared with entity `comparison-entity` with id `comparison-entity-id-or-query.`.

metabase_enable_database_persistence

Attempt to enable model persistence for a database.

metabase_get_preview_embed_card_param_values

Embedded version of api.card filter values endpoint.

metabase_delete_action

Delete an Action.

metabase_create_document_public_link

Generate a publicly-accessible UUID for a Document.

metabase_admin_list_notifications

List card-type notifications (alerts) for admin management.

metabase_delete_timeline_event

Delete a TimelineEvent.

metabase_get_custom_viz_plugin_list

List active and enabled custom visualization plugins.

metabase_data_studio_sync_schema

Batch version of /table/:id/sync_schema.

metabase_get_dashboard_subscription_options

Provides relevant configuration information and user choices for creating/updating Pulses.

metabase_get_query_metadata

Get all of the required query metadata for an ad-hoc query.

metabase_delete_embed_theme

Delete an embedding theme.

metabase_get_llm_models

List the models available from every configured connection, grouped by connection.

metabase_get_measure_dimension_remapping

Fetch remapped value for a specific dimension value.

metabase_get_task_run

Get a single task run with all its child tasks.

metabase_dismiss_user_modal

Indicate that an user has been informed about the vast intricacies of 'the' Query Builder.

metabase_delete_comment

Soft delete a comment

metabase_get_dependency_graph_breaking

Returns a list of entities that are breaking other entities (sources of errors).

metabase_get_row_sandbox

Fetch GTAP by `id` Pro or Enterprise feature.

metabase_get_replacement_run

Get the status of a source replacement run.

metabase_list_channels

Get all channels

metabase_get_search_weights

Return the current weights being used to rank the search results

metabase_get_segment

Fetch `Segment` with ID.

metabase_admin_remove_user_mfa

Admin: remove *another* user's two-factor enrollment entirely — the lockout escape hatch for a lost authenticator with no recovery codes.

metabase_create_transform

Create a new transform.

metabase_discard_database_values

Discards all saved field values for this `Database`.

metabase_export_public_dashboard_card_results

Fetch the results of running a publicly-accessible Card belonging to a Dashboard and return the data in one of the export formats.

metabase_execute_dashboard_card_action

Execute the associated Action in the context of a `Dashboard` and `DashboardCard` that includes it.

metabase_get_metabot

Retrieve one metabot instance

metabase_delete_advanced_permission_impersonation

Delete a Connection Impersonation entry.

metabase_agent_create_dashboard

Create a new dashboard, optionally populated with saved questions.

metabase_enable_advanced_ai_permissions

Switch to group-level permissions.

metabase_get_question_param_remapping

Fetch the remapped value for a given value of the parameter with ID `:param-key`.

metabase_get_embed_card_param_remapping

Embedded version of api.card filter values endpoint.

metabase_get_question_table_query_metadata

Return metadata for the 'virtual' table for a Card.

metabase_delete_exploration

Hard-delete an exploration.

metabase_get_remote_sync_branches

Get list of branches from the configured source.

metabase_delete_app_group

Revoke a group's access to a data app's resource collection.

metabase_get_collection_tree

Similar to `GET /`, but returns Collections in a tree structure, e.g. ``` [{:name "A" :below #{:card :dataset} :children [{:name "B"} {:name "C" :here #{:dataset :card} :below #{:dataset :card} :children [{:name "D" :here #{:dataset} :children [{:name "E"}]} {:name "F" :here #{:card} :children [{:name "G"}]}]}]} {:name "H"}] ``` The here and below keys indicate the types of items at this particular level of the tree (here) and in its subtree (below).

metabase_get_field_remapping

Fetch remapped Field values.

metabase_get_metric_dimension_remapping

Fetch remapped value for a specific dimension value.

metabase_get_xray_cell_with_template

Return an automagic dashboard analyzing cell in question with id `id` defined by query `cell-query` using dashboard-template `dashboard-template`.

metabase_enable_model_persistence

Enable global setting to allow databases to persist models.

metabase_get_preview_embed_card_results

Fetch the query results for a Card you're considering embedding by passing a JWT `token`.

metabase_delete_action_public_link

Delete the publicly-accessible link to this Dashboard.

metabase_delete_document

Permanently deletes an archived Document.

metabase_get_notification

Get a notification by id.

metabase_get_timeline

Fetch the `Timeline` with `id`.

metabase_get_custom_viz_plugin_sandbox_host

Serve a minimal HTML document used as the iframe `src` for the near-membrane custom-viz sandbox.

metabase_data_studio_table_selection

Gets information about selected tables

metabase_test_dashboard_subscription

Test send an unsaved pulse.

metabase_get_query_parameter_remapping

Return the remapped parameter values for cards or dashboards that are being edited.

metabase_get_embed_theme

Fetch a single embedding theme by ID.

metabase_get_llm_provider_types

List the provider types a connection can be created for, with the credential fields each one needs.

metabase_get_measure_dimension_values

Fetch values for a dimension of a measure.

metabase_get_task_run_entities

Get distinct entities that have task runs for a given run type.

metabase_get_user

Fetch a `User`.

metabase_get_comment_mentions

Get a list of entities suitable for mentions.

metabase_get_dependency_graph_broken

Returns the broken dependents for a specific source entity.

metabase_list_row_sandboxes

Fetch a list of all GTAPs currently in use, or a single GTAP if both `group_id` and `table_id` are provided.

metabase_list_replacement_runs

List replacement runs, optionally filtered by is-active.

metabase_test_channel

Test a channel connection

metabase_reinitialize_search_index

This will blow away any search indexes, re-create, and re-populate them.

metabase_get_segment_related

Return related entities.

metabase_cancel_cloud_addon

Remove an add-on.

metabase_create_transform_job

Create a new transform job.

metabase_dismiss_database_sync_spinner

Manually set the initial sync status of the `Database` and corresponding tables to be `complete` (see #20863)

metabase_export_public_document_card_results

Fetch a Card embedded in a public Document and return query results in the specified format.

metabase_export_dashboard_card_results

Run the query associated with a Saved Question (`Card`) in the context of a `Dashboard` that includes it, and return its results as a file in the specified format.

metabase_get_metabot_analytic_conversation

Return full details for a specific conversation including all messages.

metabase_delete_group

Delete a specific `PermissionsGroup`.

metabase_agent_create_metric

Save a previously constructed query as a named metric.

metabase_get_ai_control_mcp_permissions

List the MCP tool policy of every group, with the tools it can name and the current permission mode.

metabase_get_question_param_values

Fetch possible values of the parameter whose ID is `:param-key`.

metabase_get_embed_card_param_search

Embedded version of chain filter search endpoint.

metabase_get_table

Get `Table` with ID.

metabase_explore_further

Start a follow-up investigation scoped to a clicked chart segment.

metabase_get_remote_sync_current_task

Get the current sync task Pro or Enterprise feature.

metabase_get_app

Fetch metadata for a single data app by its slug, disabled ones to superusers only.

metabase_get_root_collection

Return the 'Root' Collection object with standard details added

metabase_get_field_summary

Get the count and distinct count of `Field` with ID.

metabase_get_metric_dimension_values

Fetch values for a dimension of a metric.

metabase_get_xray_cell_with_template_compare

Return an automagic comparison dashboard for cell in automagic dashboard for entity `entity` with id `id` defined by query `cell-query` using dashboard-template `dashboard-template`; compared with entity `comparison-entity` with id `comparison-entity-id-or-query.`.

metabase_get_persisted_model

Fetch a particular PersistedInfo by id.

metabase_get_preview_embed_dashboard

Fetch a Dashboard you're considering embedding by passing a JWT `token`.

metabase_execute_action

Execute the Action.

metabase_delete_document_public_link

Remove the public link for a Document.

metabase_send_notification

Send a notification by id.

metabase_get_timeline_event

Fetch the TimelineEvent with `id`.

metabase_list_custom_viz_plugins

List all registered custom visualization plugins.

metabase_edit_data_studio_table

Bulk updating tables.

metabase_undo_dashboard_subscription_unsubscribe

Allow non-users to undo an unsubscribe from pulses/subscriptions, with the hash given through email.

metabase_get_query_parameter_values

Return parameter values for cards or dashboards that are being edited.

metabase_list_embed_themes

Fetch a list of all embedding themes.

metabase_list_llm_providers

List the configured provider connections, with their secrets masked.

metabase_list_measures

Fetch *all* `Measures`.

metabase_get_task_unique_tasks

Returns possibly empty vector of unique task names in alphabetical order.

metabase_list_user_recipients

Fetch a list of `Users`.

metabase_list_comments

Get comments for an entity

metabase_get_dependency_graph_dependents

Returns a list of dependents for the specified entity.

metabase_update_row_sandbox

Update a GTAP entry.

metabase_replace_model_with_transform

Create a transform from a model, execute it, and replace all usages of the model with the output table.

metabase_update_channel

Update a channel

metabase_update_search_weights

Update the current weights being used to rank the search results

metabase_update_segment

Update a `Segment` with ID.

metabase_cancel_cloud_migration

Cancel any ongoing cloud migrations, if any.

metabase_create_transform_tag

Create a new transform tag.

metabase_get_database_autocomplete_suggestions

Return a list of autocomplete suggestions for a given `prefix`, or `substring`.

metabase_get_public_action

Fetch a publicly-accessible Action.

metabase_get_dashboard_card_action_values

Fetches the values for filling in execution parameters.

metabase_get_metabot_conversation

Return a single conversation with its flattened chat messages.

metabase_get_advanced_permission_application_graph

Fetch a graph of Application Permissions.

metabase_agent_create_question

Save a previously constructed query as a named question (card).

metabase_get_ai_control_permissions

List all metabot permissions for all groups, filling in defaults for missing entries.

metabase_get_question_query_metadata

Get all of the required query metadata for a card.

metabase_get_embed_card_param_values

Embedded version of api.card filter values endpoint.

metabase_get_table_data

Get the data for the given table

metabase_get_exploration

Fetch an exploration with its thread, selections, and generated queries.

metabase_get_remote_sync_dirty

Return all models with changes that have not been pushed to the remote sync source in any remote-synced collection.

metabase_get_app_group_permission_warnings

Return missing table access for the groups listed for this app.

metabase_get_root_collection_items_metadata

Metadata about the Root Collection's items list: the models with at least one visible item plus the item count.

metabase_get_table_ids_for_fields

Get unique Table IDs for a list of Field IDs.

metabase_list_metric_dimensions

List a metric's curated dimensions, and (when `with-addable=true`) the columns still available to add, grouped by source table.

metabase_get_xray_compare

Return an automagic comparison dashboard for entity `entity` with id `id` compared with entity `comparison-entity` with id `comparison-entity-id-or-query.`

metabase_get_persisted_model_for_question

Fetch a particular PersistedInfo by card-id.

metabase_get_preview_embed_dashboard_card_results

Fetch the results of running a Card belonging to a Dashboard you're considering embedding with JWT `token`.

metabase_get_action

Fetch an Action.

metabase_export_document_card_results

Download query results for a Card embedded in a Document.

metabase_send_notification_preview

Send an unsaved notification.

metabase_list_collection_timelines

Fetch a specific Collection's timelines.

metabase_refresh_custom_viz_plugin

Re-fetch the manifest from the dev server for a dev-only plugin.

metabase_get_data_studio_table_publishing_info

Return the latest valid publishing information for a published table, or no content when unavailable.

metabase_unsubscribe_dashboard_subscription_by_link

Allow non-users to unsubscribe from pulses/subscriptions, with the hash given through email.

metabase_run_pivot_query

Generate a pivoted dataset for an ad-hoc query

metabase_seed_default_embed_themes

Seed default embedding themes on first call, using the payloads built by the frontend from the `METABASE_LIGHT_THEME` / `METABASE_DARK_THEME` constants.

metabase_llm_extract_sources

Parse native query sources and return referenced tables and cards/models.

metabase_search_measure_dimension_values

Search for values of a dimension that contain the query string.

metabase_list_task_runs

List task runs with optional filters.

metabase_reactivate_user

Reactivate user at `:id`

metabase_update_comment

Update a comment

metabase_get_dependency_graph_unreferenced

Returns a list of all unreferenced items in the instance.

metabase_validate_row_sandbox

Validate a sandbox which may not have yet been saved.

metabase_replace_source

Replace all usages of a source entity with a target entity asynchronously.

metabase_count_api_keys

Get the count of API keys in the DB with the default scope.

metabase_create_transform_test

Create a transform test.

metabase_get_database_card_autocomplete_suggestions

Return a list of `Card` autocomplete suggestions for a given `query` in a given `Database`.

metabase_get_public_card

Fetch a publicly-accessible Card an return query results as well as `:card` information.

metabase_get_dashboard_param_remapping

Fetch the remapped value for a given value of the parameter with ID `:param-key`.

metabase_get_metabot_conversation_title

Return the title generation status for a conversation.

metabase_get_database_permissions_graph

Fetch a graph of all Permissions for db-id `db-id`.

metabase_agent_execute_query

Execute an MBQL query and return results.

metabase_get_ai_control_usage_group

Get the metabot usage limit for a specific group.

metabase_list_dashboards_for_questions

Get the dashboards that multiple cards appear in.

metabase_get_embed_card_results

Fetch the results of running a Card using a JSON Web Token signed with the `embedding-secret-key`.

metabase_list_question_table_foreign_keys

Return FK info for the 'virtual' table for a Card.

metabase_get_exploration_dimensions

Hydrated metrics plus a deduplicated dimension list, for the Exploration data modal.

metabase_get_remote_sync_export_preflight

Dry-run preview of what pushing the current state would do given the live remote branch, without writing anything.

metabase_get_app_repo_status

Status of the connected repository as it relates to data apps.

metabase_get_trash_collection

Fetch the trash collection, as in `/api/collection/:trash-id`

metabase_list_field_related

Return related entities.

metabase_remove_metric_dimension

Remove dimensions (by UUID) from a metric.

metabase_get_xray_for_model_record

Return an automagic dashboard for the record of the model indexed by `model-index-id` whose primary key is `pk-id`.

metabase_list_persisted_models

List the entries of PersistedInfo in order to show a status page.

metabase_get_preview_embed_dashboard_param_remapping

Embedded version of the remapped dashboard param value endpoint.

metabase_get_action_values

Fetches the values for filling in execution parameters.

metabase_get_document

Returns an existing Document by ID.

metabase_undo_notification_unsubscribe

Allow non-users to undo an unsubscribe from notifications, with the hash given through email.

metabase_list_root_collection_timelines

Fetch the root Collection's timelines.

metabase_update_custom_viz_plugin

Update a custom visualization plugin.

metabase_publish_data_studio_tables

Set collection for each of selected tables and all upstream dependencies recursively.

metabase_unsubscribe_from_dashboard_subscription

For users to unsubscribe themselves from a pulse subscription.

metabase_search_query_parameter_values

Return parameter values for cards or dashboards that are being edited.

metabase_update_embed_theme

Update an embedding theme.

metabase_update_llm_provider

Update a provider connection.

metabase_update_measure

Update a `Measure` with ID.

metabase_list_tasks

Fetch a list of recent tasks stored as Task History

metabase_update_user

Update an existing, active `User`.

metabase_create_bookmark

Create a new bookmark for user.

metabase_delete_transform

Delete a transform.

metabase_get_database_healthcheck

Reports whether the database can currently connect

metabase_get_public_card_param_remapping

Fetch the remapped value for the given `value` of parameter with ID `:param-key` of card with UUID `uuid`.

metabase_get_dashboard_param_values

Fetch possible values of the parameter whose ID is `:param-key`.

metabase_get_metabot_permission_user_permissions

Return the current user's resolved metabot permissions, taking the most permissive value across all their groups.

metabase_get_group

Fetch the details for a certain permissions group.

metabase_agent_execute_sql

Execute a raw SQL query against a database.

metabase_get_ai_control_usage_instance

Get the instance-wide metabot usage limit.

metabase_list_embeddable_questions

Fetch a list of Cards where `enable_embedding` is `true`.

metabase_get_embed_dashboard

Fetch a Dashboard via a JSON Web Token signed with the `embedding-secret-key`.

metabase_list_table_foreign_keys

Get all foreign keys whose destination is a `Field` that belongs to this `Table`.

metabase_get_exploration_query

Stream the result of a single completed exploration query.

metabase_get_remote_sync_has_remote_changes

Check if there are new changes on the remote branch that can be pulled.

metabase_get_app_sandbox_host

Serve the document used as the `src` of the Near-Membrane realm iframe, carrying a per-document CSP that confines `'unsafe-eval'` to that realm.

metabase_list_collection_dashboard_question_candidates

Find cards in this collection that can be moved into dashboards in this collection.

metabase_rescan_field_values

Manually trigger an update for the FieldValues for this Field.

metabase_reorder_metric_dimension

Persist a new ordering for a metric's dimensions.

metabase_get_xray_query_metadata

Return all metadata for an automagic dashboard for entity `entity` with id `id`.

metabase_persist_model

Mark the model (card) as persisted.

metabase_get_preview_embed_dashboard_param_search

Embedded version of chain filter search endpoint.

metabase_list_actions

Returns the actions the current user can read, unarchived unless `?archived=true`.

metabase_list_documents

Gets existing `Documents`.

metabase_unsubscribe_from_notification

Unsubscribe current user from a notification.

metabase_update_timeline

Update the Timeline with `id`.

metabase_update_custom_viz_plugin_dev_url

Set or clear the dev base URL for a plugin (e.g. `http://localhost:5174`).

metabase_unpublish_data_studio_tables

Unset collection for each of selected tables and all downstream dependents recursively.

metabase_update_dashboard_subscription

Update a Pulse with `id`.

metabase_create_database_replication_connection

Create a new PG replication connection for the specified database.

metabase_delete_transform_job

Delete a transform job.

metabase_get_database_metadata

Get metadata about a `Database`, including all of its `Tables` and `Fields`.

metabase_get_public_card_param_search

Fetch values for a parameter on a public card containing `query`.

metabase_get_dashboard_query_metadata

Get all of the required query metadata for the cards on dashboard.

metabase_get_metabot_usage

Fetch current Metabot token usage for the current billing period.

metabase_get_group_permissions_graph

Fetch a graph of all Permissions for group-id `group-id`.

metabase_agent_ping

Health check endpoint for the Agent API.

metabase_get_ai_control_usage_tenant

Get the metabot usage limit for a specific tenant.

metabase_list_public_questions

Fetch a list of Cards with public UUIDs.

metabase_get_embed_dashboard_card_results

Fetch the results of running a Card belonging to a Dashboard using a JSON Web Token signed with the `embedding-secret-key`

metabase_list_table_related

Return related entities.

metabase_list_my_explorations

Explorations the current user created or edited, most-recently-touched first, paginated.

metabase_get_remote_sync_is_dirty

Check if any remote-synced collection or collection item has local changes that have not been pushed to the remote sync source.

metabase_get_app_typed_schema

Return the TypeScript module of the data app's queries and actions: a `defineQuery` call for each question and metric and a `defineAction` call for each action in the app's collection, addressed by entity ID.

metabase_list_root_dashboard_question_candidates

Find cards in the root collection that can be moved into dashboards in the root collection.

metabase_search_field_values

Search for values of a Field with `search-id` that start with `value`.

metabase_run_metric_query

Execute a metric or measure-based query and stream the results.

metabase_get_xray_with_template

Return an automagic dashboard for entity `entity` with id `id` using dashboard-template `dashboard-template`.

metabase_refresh_persisted_model

Refresh the persisted model caching `card-id`.

metabase_get_preview_embed_dashboard_param_values

Embedded version of chain filter values endpoint.

metabase_list_public_actions

Fetch a list of Actions with public UUIDs.

metabase_list_public_documents

List all Documents that have public links.

metabase_unsubscribe_notification_by_link

Allow non-users to unsubscribe from notifications, with the hash given through email.

metabase_update_timeline_event

Update a TimelineEvent.

metabase_create_glossary

Create a new glossary entry.

metabase_delete_transform_table

Delete a transform's output table.

metabase_get_database_settings_available

Get all database-local settings and their availability for the given database.

metabase_get_public_card_param_values

Fetch values for a parameter on a public card.

metabase_get_dashboard_valid_filter_fields

Utility endpoint for powering Dashboard UI.

metabase_list_metabot_analytic_conversations

Return paginated list of AI conversations with summary statistics.

metabase_get_invite_group_ids

IDs of the permission groups holding a stored read (or read-write) grant on the collection of a shareable item (a `dashboard` or a `question`).

metabase_agent_read_resource

Read one or more Metabase resources via metabase:// URI patterns.

metabase_list_ai_control_usage_groups

Get all group-level metabot usage limits.

metabase_list_question_dashboards

Get a list of `{:name ...

metabase_get_embed_dashboard_param_remapping

Embedded version of the remapped dashboard param value endpoint.

metabase_replace_table_with_csv

Replaces the contents of the table identified by `:id` with the rows of an uploaded CSV file.

metabase_restart_exploration_thread

Re-run one exploration thread in place, keeping its selections: drops the thread's materialized queries and clears the terminal-state gates so the background planner re-claims it.

metabase_import_remote_sync

Import Metabase content from configured Remote Sync source.

metabase_list_app_groups

List the groups other than Administrators that can read a data app's resource collection.

metabase_move_collection_dashboard_question_candidates

Move candidate cards to the dashboards they appear in.

metabase_set_field_dimension

Sets the dimension for the given field at ID

metabase_search_metric_dimension_values

Search for values of a dimension that contain the query string.

metabase_get_xray_with_template_compare

Return an automagic comparison dashboard for entity `entity` with id `id` using dashboard-template `dashboard-template`; compared with entity `comparison-entity` with id `comparison-entity-id-or-query.`.

metabase_set_model_persistence_schedule

Set the cron schedule to refresh persisted models.

metabase_get_preview_embed_pivot_card_query

Fetch the query results for a Card you're considering embedding by passing a JWT `token`.

metabase_update_action

Update an Action.

metabase_update_document

Updates an existing `Document`.

metabase_update_notification

Update a notification, can also update its subscriptions, handlers.

metabase_create_gsheet_connection

Hook up a new google drive folder or sheet that will be watched and have its content ETL'd into Metabase.

metabase_delete_transform_tag

Delete a transform tag.

metabase_get_database_syncable_schemas

Returns a list of all syncable schemas found for the database `id`.

metabase_get_public_card_results

Fetch a publicly-accessible Card an return query results as well as `:card` information.

metabase_list_dashboard_items

Get Dashboard with ID.

metabase_list_metabot_conversations

List conversations visible in the current user's history, most-recent first.

metabase_get_permissions_graph

Fetch a graph of all Permissions.

metabase_agent_run_query

Execute a portable MBQL 5 representations JSON query and stream the results, with continuation-token pagination.

metabase_list_ai_control_usage_tenants

Get all tenant-level metabot usage limits.

metabase_list_question_series

Fetches a list of compatible series with the card with id `card_id`.

metabase_get_embed_dashboard_param_search

Embedded version of chain filter search endpoint.

metabase_rescan_table_values

Manually trigger an update for the FieldValues for the Fields belonging to this Table.

metabase_update_exploration

Update an exploration's metadata, archive state, or move it to a different collection.

metabase_stash_remote_sync

Stashes changes to a new branch, and changes the current branch to it.

metabase_list_apps

List the data apps the user can read.

metabase_move_root_dashboard_question_candidates

Move candidate cards to the dashboards they appear in (for the root collection)

metabase_update_field

Update `Field` with ID.

metabase_set_default_metric_dimension

Mark exactly one dimension as the metric's default, clearing any previous default.

metabase_list_xray_candidates

Return a list of candidates for automagic dashboards ordered by interestingness.

metabase_unpersist_model

Unpersist this model.

metabase_get_preview_embed_pivot_dashboard_dashcard_card

Fetch the results of running a Card belonging to a Dashboard you're considering embedding with JWT `token`.

metabase_create_index_request

Create an index request on a transform's target table.

metabase_delete_transform_test

Delete a transform test.

metabase_get_database_usage_info

Get usage info for a database.

metabase_get_public_dashboard

Fetch a publicly-accessible Dashboard.

metabase_list_dashboard_related

Return related entities.

metabase_list_metabot_prompt_suggestions

Return the prompt suggestions for the metabot instance with `id`.

metabase_list_advanced_permission_impersonations

Fetch a list of all Impersonation policies currently in effect, or a single policy if both `group_id` and `db_id` are provided.

metabase_agent_run_question

Run a saved question (card) and return its results.

metabase_update_ai_control_mcp_permissions

Set the MCP tool policy of the given groups, in one transaction, and return the policy of every group.

metabase_move_questions

Moves a number of Cards to a single collection or dashboard.

metabase_get_embed_dashboard_param_values

Embedded version of chain filter values endpoint.

metabase_sync_table_schema

Trigger a manual update of the schema metadata for this `Table`.

metabase_update_exploration_page_hidden

Set whether one or more exploration pages are hidden from the sidebar.

metabase_test_remote_sync_connection

Test whether the Remote Sync credentials can reach the git repository.

metabase_update_app

Update a data app's manifest fields, or enable or disable it.

metabase_update_collection_permissions_graph

Do a batch update of Collections Permissions by passing in a modified graph.

metabase_update_field_values

Update the fields values and human-readable values for a `Field` whose semantic type is `category`/`city`/`state`/`country` or whose base type is `type/Boolean`.

metabase_update_metric_dimension

Update a metric dimension's `display_name`, `description`, `default_temporal_unit`, and/or source column.

metabase_create_library

Creates the Library if it doesn't exist.

metabase_get_transform

Get a specific transform.

metabase_get_saved_questions_metadata

Endpoint that provides metadata for the Saved Questions 'virtual' database.

metabase_get_public_dashboard_card_action_values

Fetches the values for filling in execution parameters.

metabase_list_embeddable_dashboards

Fetch a list of Dashboards where `enable_embedding` is `true`.

metabase_list_metabots

List configured metabot instances

metabase_list_group_memberships

Fetch a map describing the group memberships of various users.

metabase_agent_search

Search for tables, models, metrics, saved questions, dashboards, and collections.

metabase_update_ai_control_permissions

Update metabot permissions for all groups.

metabase_move_questions_to_collection

Bulk update endpoint for Card Collections.

metabase_get_embed_pivot_card_query

Fetch the results of running a Card using a JSON Web Token signed with the `embedding-secret-key`.

metabase_update_table

Update `Table` with ID.

metabase_update_exploration_page_starred

Set whether an exploration page is starred.

metabase_update_remote_sync_settings

Update Remote Sync related settings.

metabase_create_model_index

Create ModelIndex.

metabase_get_transform_dag_run_transform_runs

Get the transform runs that made up a specific DAG run.

metabase_list_database_fields

Get a list of all `Fields` in `Database`.

metabase_get_public_dashboard_card_results

Fetch the results for a Card in a publicly-accessible Dashboard.

metabase_list_public_dashboards

Fetch a list of Dashboards with public UUIDs.

metabase_regenerate_metabot_prompt_suggestions

Remove any existing prompt suggestions for the Metabot with `id` and generate new ones.

metabase_remove_group_member

Remove a User from a PermissionsGroup (delete their membership).

metabase_agent_update_dashboard

Update a dashboard.

metabase_update_ai_control_usage_group

Set or update the metabot usage limit for a specific group.

metabase_run_question_pivot_query

Run the query associated with a Card.

metabase_get_embed_pivot_dashboard_dashcard_card

Fetch the results of running a Card belonging to a Dashboard using a JSON Web Token signed with the `embedding-secret-key`

metabase_update_table_field_order

Reorder fields

metabase_create_moderation_review

Create a new `ModerationReview`.

metabase_get_transform_dag_transforms

Preview the transforms a DAG reprocess from this transform would run (see `POST /:id/run-dag`), in execution order.

metabase_list_database_id_fields

Get a list of all primary key `Fields` for `Database`.

metabase_get_public_dashboard_param_remapping

Fetch the remapped value for the given `value` of parameter with ID `:param-key` of dashboard with UUID `uuid`.

metabase_replace_dashboard_cards

(DEPRECATED -- Use the `PUT /api/dashboard/:id` endpoint instead.) Update `Cards` and `Tabs` on a Dashboard.

metabase_save_metabot_conversation_entity

Save a Metabot-generated chart from this conversation as a card, stamping the card's origin columns in the same request — used by the inline chart's manual Save button, which runs outside any agent turn.

metabase_update_advanced_permission_application_graph

Do a batch update of Application Permissions by passing a modified graph.

metabase_agent_update_metric

Update a saved metric.

metabase_update_ai_control_usage_instance

Set or update the instance-wide metabot usage limit.

metabase_run_question_query

Run the query associated with a Card.

metabase_create_routing_destination_database

Create new Destination Databases.

metabase_get_transform_dependencies

Get the dependencies of a specific transform.

metabase_list_database_schemas

Returns a list of all the schemas with tables found for the database `id`.

metabase_get_public_dashboard_param_search

Fetch filter values for dashboard parameter `param-key`, containing specified `query`.

metabase_run_dashboard_card_pivot_query

Run a pivot table query for a specific DashCard.

metabase_send_metabot_feedback

Persist Metabot feedback.

metabase_update_group

Update the name of a `PermissionsGroup`.

metabase_agent_update_question

Update a saved question (card).

metabase_update_ai_control_usage_tenant

Set or update the metabot usage limit for a specific tenant.

metabase_search_question_param_values

Fetch possible values of the parameter whose ID is `:param-key` that contain `:query`.

metabase_create_snippet

Create a new `NativeQuerySnippet`.

metabase_get_transform_inspect

Phase 2: Get full lens contents for a transform.

metabase_list_default_schema_tables

Return a list of Tables for a Database whose schema is the `schema` query parameter, or `nil` or an empty string when no `schema` is given.

metabase_get_public_dashboard_param_values

Fetch filter values for dashboard parameter `param-key`.

metabase_run_dashboard_card_query

Run the query associated with a Saved Question (`Card`) in the context of a `Dashboard` that includes it.

metabase_send_metabot_source_feedback

Persist Metabot source feedback.

metabase_update_group_membership

Update a Permission Group membership.

metabase_create_tenant

Create a new Tenant Pro or Enterprise feature.

metabase_get_transform_job

Get a transform job by ID.

metabase_list_saved_questions_schema_datasets

Returns a list of Tables for the datasets virtual database.

metabase_get_public_document

Fetch a publicly-accessible Document.

metabase_save_dashboard

Save a denormalized description of dashboard.

metabase_update_metabot

Update a metabot instance

metabase_update_permissions_graph

Do a batch update of Permissions by passing in a modified graph.

metabase_debug_permissions

This endpoint expects a `user_id`, a `model_id` to debug permissions against, and `action_type`.

metabase_get_transform_job_run_transform_runs

Get the transform runs that made up a specific job run.

metabase_list_saved_questions_schema_tables

Returns a list of Tables for the saved questions virtual database.

metabase_get_public_document_card

Run a query for a Card that's embedded in a public Document.

metabase_save_dashboard_to_collection

Save a denormalized description of dashboard into collection with ID `:parent-collection-id`.

metabase_update_metabot_slack_settings

Update Metabot Slack settings atomically.

metabase_delete_api_key

Delete an ApiKey

metabase_get_transform_job_transforms

Get the transforms of job specified by the job's ID.

metabase_list_saved_questions_schemas

Returns a list of all the schemas found for the saved questions virtual database.

metabase_get_public_oembed

oEmbed endpoint used to retrieve embed code and metadata for a (public) Metabase URL.

metabase_search_dashboard_param_values

Fetch possible values of the parameter whose ID is `:param-key` that contain `:query`.

metabase_delete_bookmark

Delete a bookmark.

metabase_get_transform_run

Get a transform run by ID.

metabase_list_saved_questions_schemas_datasets

Returns a list of all the datasets found for the saved questions virtual database.

metabase_get_public_pivot_card_query

Fetch a publicly-accessible Card an return query results as well as `:card` information.

metabase_delete_cache_config

Delete cache configurations.

metabase_get_transform_test

Get a transform test with its newest run.

metabase_list_schema_tables

Returns a list of Tables for the given Database `id` and `schema`.

metabase_get_public_pivot_dashboard_dashcard_card

Fetch the results for a Card in a publicly-accessible Dashboard.

metabase_delete_database_replication_connection

Delete PG replication connection for the specified database.

metabase_get_transform_test_run

List the runs of a transform test, newest first.

metabase_rescan_database_values

Trigger a manual scan of the field values for this `Database`.

metabase_delete_email

Clear all email related settings.

metabase_get_transforms_python_library

Get the Python library for user modules.

metabase_sync_database_schema

Trigger a manual update of the schema metadata for this `Database`.

metabase_delete_email_override

Clear all cloud email related settings.

metabase_list_transform_inspects

Phase 1: Discover available lenses for a transform.

metabase_update_database

Update a `Database`.

metabase_delete_glossary

Delete a glossary entry.

metabase_list_transform_job_runs

Get paginated run history for a transform job.

metabase_validate_database_connection

Validate that we can connect to a database given a set of details.

metabase_delete_gsheet_connection

Disconnect the google service account.

metabase_list_transform_jobs

Get all transform jobs.

metabase_delete_index_request

Mark an index request `delete-pending`.

metabase_list_transform_runs

Get transform runs based on a set of filter params.

metabase_delete_model_index

Delete ModelIndex.

metabase_list_transform_tags

Get a list of all transform tags.

metabase_delete_osi_ai_context

Delete the ai_context entry for an entity by its logical key.

metabase_list_transform_tests

List the transform tests with their newest runs, optionally only those of one transform.

metabase_delete_upload_management_table

Delete the uploaded table from the database, optionally archiving cards for which it is the primary source.

metabase_list_transforms

Get a list of transforms.

metabase_delete_user_key_value_namespace_key

Deletes a KV-pair for the user

metabase_query_transform_inspect

Execute a query in the context of a transform inspector lens.

metabase_delete_user_subscriptions

Delete all Alert and DashboardSubscription subscriptions for a User (i.e., so they will no longer receive them).

metabase_reset_checkpoint_transform

Reset the stored checkpoint for an incremental transform.

metabase_execute_action_v2

Execute an action with a single input.

metabase_run_dag_transform

Trigger a DAG-reprocess run starting from a single transform: runs the transform and every transform in its transitive dependency closure.

metabase_execute_bulk_action_v2

Execute an action with multiple inputs.

metabase_run_transform

Run a transform.

metabase_execute_form_action_v2

Temporary endpoint for describing an actions parameters such that they can be presented correctly in a modal ahead of execution.

metabase_run_transform_job

Run a transform job manually.

metabase_generate_random_token

Return a cryptographically secure random 32-byte token, encoded as a hexadecimal string.

metabase_run_transform_test

Run a transform test.

metabase_get_alert

Fetch an alert by ID

metabase_search_transform_runs

Paginated unified run history: every row is a root run — a job run, a manual DAG-reprocess run, or a standalone transform run — never a member run of a job/DAG (those are listed by `GET /run` and the per-run `transform-runs` endpoints).

metabase_get_anonymous_stats

Anonymous usage stats.

metabase_test_run_transforms_python

Evaluate an ad-hoc python transform on a sample of input data.

metabase_get_billing

Get billing information.

metabase_update_transform

Update a transform.

metabase_get_cache_configs

Return cache configuration.

metabase_update_transform_job

Update a transform job.

metabase_get_cloud_migration

Get the latest cloud migration, if any.

metabase_update_transform_job_active

Activate or deactivate every transform job.

metabase_get_connection_pool_details

Returns database connection pool info for the current Metabase instance.

metabase_update_transform_tag

Update a transform tag.

metabase_get_content_diagnostic_duplicated

List **duplicated** findings - the latest valid finding per (entity, finding-type) across the duplicated finding types (currently just `duplicate_name`), permission-filtered for the current user.

metabase_update_transform_test

Update a transform test.

metabase_get_content_diagnostic_imbalanced

List **imbalanced** findings - the latest valid finding per (entity, finding-type) across the `empty`/`sparse`/`crowded` checkers, permission-filtered for the current user.

metabase_update_transforms_python_library

Update the Python library source code for user modules.

metabase_get_content_diagnostic_slow

List **slow** findings - the latest valid `slow` finding per entity, permission-filtered for the current user.

metabase_get_content_diagnostic_stale

List **stale** findings - the latest valid `stale` finding per entity, permission-filtered for the current user.

metabase_get_content_translation_csv

Provides content translation dictionary in CSV Pro or Enterprise feature.

metabase_get_content_translation_dictionary

Fetch the content translation dictionary via a JSON Web Token signed with the `embedding-secret-key`.

metabase_get_data_complexity_score

Return the most recently stored Data Complexity Score for this instance.

metabase_get_diagnostic_details

Returns version and system information relevant to filing a bug report against Metabase.

metabase_get_embedding_hub_checklist

Get the setup guide checklist status, indicating which setup steps have been completed.

metabase_get_entity_relationship_diagram

Return an Entity Relationship Diagram (ERD) for tables and their FK relationships.

metabase_get_geojson

Fetch a custom GeoJSON file as defined in the metabase.geojson.settings/custom-geojson setting.

metabase_get_gsheet_connection

Check the status of a connection.

metabase_get_gsheet_service_account

Checks to see if service-account is setup or not, delegates to HM only if we haven't set it from a metabase cluster before.

metabase_get_health_inspector

Get a list of recent health check runs.

metabase_get_index_request

Fetch a single index request (e.g. to poll its status).

metabase_get_instance_properties

Get all properties and their values.

metabase_get_library

Get the Library.

metabase_get_library_tree

This matches /api/collection/tree but only returns the library collection.

metabase_get_license_status

Fetch info about the current Premium-Features premium features token including whether it is `valid`, a `trial` token, its `features`, when it is `valid-thru`, and the `status` of the account.

metabase_get_logger_presets

Get all known presets.

metabase_get_login_history

Fetch recent logins for the current user.

metabase_get_mfa_admin_enrolled_users

Admin: users who have a confirmed second factor.

metabase_get_mfa_admin_overview

Admin: enrollment overview — how many users have (and haven't) set up a second factor, and whether the instance encrypts secrets at rest.

metabase_get_mfa_admin_unenrolled_users

Admin: active users who have not set up a second factor.

metabase_get_model_index

Retrieve ModelIndex.

metabase_get_most_recently_viewed_dashboard

Get the most recently viewed dashboard for the current user.

metabase_get_oauth_authorizations

List OAuth dynamic client registration events (registered, approved, or denied), newest first.

metabase_get_osi_ai_context

Get the ai_context entry for an entity by its logical `(entity_type, entity_local_id)` key.

metabase_get_query_execution_logs

Fetch rows for the month specified by `:yyyy-mm` from the query_execution logs table.

metabase_get_revision

Fetch `Revisions` for an object with ID.

metabase_get_security_center

List all security advisories with match status.

metabase_get_semantic_search_status

Fetch the indexing status of the currently active semantic search index table.

metabase_get_server_logs

Logs.

metabase_get_setting

Fetch a single `Setting`.

metabase_get_slack_app_info

Returns the Slack app_id and team_id.

metabase_get_slack_manifest

Returns the JSON manifest file that should be used to bootstrap new Slack apps

metabase_get_snippet

Fetch native query snippet with ID.

metabase_get_support_access_grant_current

Get the currently active support access grant, if one exists.

Connect Metabase to Claude, ChatGPT and Claude Code

Credentials off one Metabase screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

In Metabase, click the grid icon and choose Admin, then Settings, then Authentication, then API keys. Create a key, name it, pick a group and copy the key. Paste your Metabase address and the key. The Administrators group gives every tool; any other group reaches what that group can.

Metabase addresshttps://yourcompany.metabaseapp.com
API key••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • “Find our revenue dashboard and tell me what changed in the numbers it shows”

    • search
    • get_dashboard_results
  • “What tables hold orders in the warehouse, and how many orders did we get per week this quarter”

    • describe_database
    • run_sql
  • “Run the Churn by plan question for the EU region only and list the three worst plans”

    • search
    • run_question
  • “Save that query as a question called Weekly orders and add it to the Sales dashboard”

    • create_sql_question
    • add_questions_to_dashboard

Use Metabase from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Metabase MCP server questions

What teams ask before putting Metabase behind an AI client.

What does the Metabase MCP server need to connect?

Your Metabase address and an API key. An admin makes the key in Metabase under Admin, Settings, Authentication, then API keys. API keys are on every Metabase plan, including the free open-source edition, from version 0.49. Metabase shows the key once, and PopMCP stores it encrypted.

Does it work with self-hosted Metabase?

Yes, on any HTTPS address the internet can reach, including Metabase served under a subdirectory. PopMCP cannot reach a Metabase that is only on a private network. Metabase Cloud works the same way, with an address like yourcompany.metabaseapp.com.

What can the AI see?

What the API key's Metabase group can see. A key in the Administrators group reaches every tool, including people, settings and permissions. A key in another group reaches only the questions, dashboards and data that group has access to, and Metabase refuses the rest. Choosing a group with limited access is the way to narrow it.

Can the AI change my data with SQL?

On a read-only connection, PopMCP allows only a single statement that reads, and refuses anything with a writing keyword before it reaches Metabase. That is a check on the text of the query, so the firm guarantee is connecting Metabase to your database with a login that can only read. Saved questions run as they were saved. On a connection with write actions on, SQL is sent as written and your database login decides.

How much data comes back from a query?

200 rows by default, and up to 2,000 if the AI asks, with a clear note when there are more. Metabase itself stops at 2,000 raw rows or 10,000 aggregated rows unless an admin changed that. Queries run on your own database, so a heavy one costs what it would cost anywhere else, and the tools tell the AI to filter and limit.

Why can't the AI create or show API keys?

A new key would land in the AI conversation in full, so creating and regenerating keys stays in Metabase's Admin screens, along with passwords and sign-in links. The AI can list keys, which Metabase masks, rename them and delete them. Secret settings and database passwords are hidden in every answer as well.

How many tools does the Metabase MCP server have?

664: every Metabase API endpoint an API key can call that returns text, plus seven multi-step tools for an overview, describing a database, running SQL and questions, reading a dashboard, saving SQL as a question and adding questions to a dashboard. Forty-two everyday tools load by default and the rest stay searchable, so your AI client is not crowded.

Do I have to run or host the Metabase MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect Metabase to Claude Code?

Connect Metabase in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Metabase on the consent screen. The Metabase tools are then available in that session, and no Metabase credential is stored on your machine.

Why do only 42 of the 662 tools load by default?

Loading 662 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 42-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 662 here. A trigger is something PopMCP watches for you: 9 Metabase events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Metabase.

Connect Metabase to your AI in minutes

Launch a hosted MCP endpoint for Metabase, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP