Metabase MCP Server for Cloudflare Workers
Test Metabase tools directly in your browser. Select a tool and provide inputs to see the results.
Create a free account to test Metabase tools interactively. No credit card required.
metabase_list_segmentsList all segments in Metabase. Segments are saved filter sets that can be reused in questions. Args: - format: Response format
metabase_get_userGet details of a specific user by ID. Args: - userId: User ID - format: Response format
metabase_get_current_userGet the currently authenticated user. Args: - format: Response format
metabase_favorite_cardAdd or remove a card from favorites. Args: - cardId: Card ID - favorite: true to favorite, false to unfavorite
metabase_remove_card_from_dashboardRemove a card from a dashboard. Args: - dashboardId: Dashboard ID - dashcardId: Dashboard card ID (not the card ID)
metabase_get_segmentGet details of a specific segment. Args: - segmentId: Segment ID - format: Response format
metabase_run_cardExecute a card's query and return the results. Args: - cardId: Card ID to run - parameters: Query parameters (for parameterized queries) - format: Response format
metabase_delete_alertDelete an alert. Args: - alertId: Alert ID to delete
metabase_unsubscribe_from_alertUnsubscribe the current user from an alert. Args: - alertId: Alert ID
metabase_update_cardUpdate an existing card (question). Args: - cardId: Card ID to update - name: New card name - description: New description - display: New visualization type - archived: Archive/unarchive the card - collectionId: Move to collection
metabase_list_alertsList all alerts in Metabase. Alerts notify users when query results meet certain conditions. Args: - archived: Include archived alerts (default: false) - format: Response format
metabase_get_alerts_for_cardGet all alerts set up for a specific card (question). Args: - cardId: Card ID - format: Response format
metabase_create_alertCreate a new alert for a card. Args: - cardId: Card ID to monitor - alertCondition: 'rows' (alert when rows exist) or 'goal' (alert on goal status) - alertFirstOnly: Only alert the first time condition is met - alertAboveGoal: For goal alerts, alert when above goal (true) or below (false) - channelType: Notification channel ('email' or 'slack') - scheduleType: How often to check ('hourly', 'daily', 'weekly') - scheduleHour: Hour to check (for daily/weekly) - scheduleDay: Day to check (for weekly, e.g., 'mon', 'tue') - recipients: User IDs to notify (for email)
metabase_update_alertUpdate an existing alert. Args: - alertId: Alert ID - alertCondition: New alert condition - alertFirstOnly: Alert first time only - alertAboveGoal: Alert above goal - archived: Archive/unarchive the alert
metabase_list_cardsList all saved questions (cards) in Metabase. Returns a list of cards with their IDs, names, display types, and collection info. Args: - collectionId: Filter cards by collection ID (optional) - archived: Include archived cards (default: false) - format: Response format ('json' or 'markdown')
metabase_get_cardGet details of a specific card (question) by ID. Returns the full card definition including query, visualization settings, and metadata. Args: - cardId: The card ID - format: Response format
metabase_create_cardCreate a new card (saved question) in Metabase. Args: - name: Card name (required) - description: Card description - display: Visualization type (table, bar, line, pie, etc.) - databaseId: Database ID for the query - queryType: Query type ('query' for MBQL, 'native' for SQL) - nativeQuery: SQL query (if queryType is 'native') - sourceTable: Source table ID (if queryType is 'query') - collectionId: Collection to save the card in
metabase_delete_cardDelete (archive) a card. Cards are not permanently deleted but moved to trash. Args: - cardId: Card ID to delete
metabase_list_collectionsList all collections in Metabase. Collections are folders that organize dashboards, questions, and other items. Args: - archived: Include archived collections (default: false) - format: Response format ('json' or 'markdown')
metabase_get_collectionGet details of a specific collection by ID. Use 'root' as the ID to get the root collection. Args: - collectionId: The collection ID (number or 'root') - format: Response format
metabase_create_collectionCreate a new collection in Metabase. Args: - name: Collection name (required) - description: Collection description - color: Collection color (hex format, e.g., '#509EE3') - parentId: Parent collection ID ('root' or number)
metabase_update_collectionUpdate an existing collection. Args: - collectionId: Collection ID to update - name: New collection name - description: New description - color: New color - archived: Archive/unarchive the collection - parentId: Move to parent collection
metabase_get_collection_itemsGet items (cards, dashboards, etc.) in a collection. Args: - collectionId: Collection ID (number or 'root') - models: Filter by item types (card, dashboard, collection, pulse) - archived: Include archived items - format: Response format
metabase_get_collection_treeGet the collection hierarchy as a tree structure. Returns all collections organized in their parent-child relationships. Args: - format: Response format
metabase_list_dashboardsList all dashboards in Metabase. Returns a list of dashboards with their IDs, names, and collection info. Args: - archived: Include archived dashboards (default: false) - format: Response format ('json' or 'markdown')
metabase_get_dashboardGet details of a specific dashboard by ID. Returns the full dashboard definition including cards, parameters, and layout. Args: - dashboardId: The dashboard ID - format: Response format
metabase_create_dashboardCreate a new dashboard in Metabase. Args: - name: Dashboard name (required) - description: Dashboard description - collectionId: Collection to save the dashboard in
metabase_update_dashboardUpdate an existing dashboard. Args: - dashboardId: Dashboard ID to update - name: New dashboard name - description: New description - archived: Archive/unarchive the dashboard - collectionId: Move to collection
metabase_delete_dashboardDelete a dashboard. Args: - dashboardId: Dashboard ID to delete
metabase_add_card_to_dashboardAdd a saved question (card) to a dashboard. Args: - dashboardId: Dashboard ID - cardId: Card ID to add - row: Row position (default: 0) - col: Column position (default: 0) - sizeX: Width in grid units (default: 4) - sizeY: Height in grid units (default: 4)
metabase_copy_dashboardCreate a copy of a dashboard. Args: - dashboardId: Dashboard ID to copy - name: Name for the new dashboard - collectionId: Collection for the new dashboard
metabase_favorite_dashboardAdd or remove a dashboard from favorites. Args: - dashboardId: Dashboard ID - favorite: true to favorite, false to unfavorite
metabase_list_databasesList all databases connected to Metabase. Args: - includeTables: Include table information (default: false) - format: Response format ('json' or 'markdown')
metabase_get_databaseGet details of a specific database by ID. Args: - databaseId: The database ID - format: Response format
metabase_get_database_metadataGet full metadata for a database including all tables and fields. This is useful for understanding the schema before writing queries. Args: - databaseId: The database ID - format: Response format
metabase_sync_databaseTrigger a sync of a database's metadata. This refreshes Metabase's understanding of the database schema. Args: - databaseId: The database ID
metabase_sync_database_schemaForce a full schema sync of a database. This is more thorough than a regular sync and requires admin privileges. Args: - databaseId: The database ID
metabase_rescan_database_field_valuesRescan field values for a database. This updates the cached list of values for filter dropdowns. Args: - databaseId: The database ID
metabase_discard_database_field_valuesDiscard cached field values for a database. Args: - databaseId: The database ID
metabase_get_database_schemasGet all schemas in a database. Args: - databaseId: The database ID
metabase_get_database_tablesGet all tables in a database, optionally filtered by schema. Args: - databaseId: The database ID - schema: Filter by schema name - format: Response format
metabase_list_permissions_groupsList all permission groups in Metabase. Permission groups control access to databases, tables, and features. Args: - format: Response format
metabase_get_permissions_groupGet details of a specific permission group. Args: - groupId: Permission group ID - format: Response format
metabase_create_permissions_groupCreate a new permission group. Requires admin privileges. Args: - name: Group name
metabase_delete_permissions_groupDelete a permission group. Requires admin privileges. Cannot delete built-in groups. Args: - groupId: Permission group ID
metabase_get_permissions_graphGet the full permissions graph. Shows all database and table permissions for all groups. Requires admin privileges. Args: - format: Response format
metabase_get_permissions_membershipGet all user-group memberships. Shows which users belong to which groups. Requires admin privileges.
metabase_add_user_to_groupAdd a user to a permission group. Requires admin privileges. Args: - groupId: Permission group ID - userId: User ID
metabase_remove_user_from_groupRemove a user from a permission group. Requires admin privileges. Args: - membershipId: Membership ID (from permissions membership endpoint)
metabase_run_native_queryExecute a native SQL query against a database. This runs the query directly and returns the results. Use this for ad-hoc analysis. Args: - databaseId: Database ID to run the query against - query: SQL query to execute - format: Response format ('json' or 'markdown')
metabase_run_queryExecute a structured query (MBQL) against a database. MBQL is Metabase's query language for building queries without SQL. Args: - databaseId: Database ID - sourceTable: Source table ID - fields: Field IDs to select (optional - returns all if not specified) - filter: Filter conditions in MBQL format (optional) - aggregation: Aggregation in MBQL format (optional) - breakout: Grouping fields in MBQL format (optional) - orderBy: Sort order in MBQL format (optional) - limit: Maximum rows to return (optional) - format: Response format
metabase_searchSearch across all Metabase content. Searches cards, dashboards, collections, tables, and more. Args: - query: Search query string - models: Filter by content types (card, dashboard, collection, table, database, segment, metric) - archived: Include archived items (default: false) - databaseId: Filter by database ID - limit: Maximum results to return - format: Response format
metabase_list_settingsList all Metabase settings. Returns all configurable settings with their current values. Requires admin privileges for most settings. Args: - format: Response format
metabase_get_settingGet a specific Metabase setting value. Args: - key: Setting key (e.g., 'site-name', 'admin-email')
metabase_update_settingUpdate a Metabase setting. Requires admin privileges. Args: - key: Setting key - value: New value
metabase_get_recent_activityGet recent activity across Metabase. Shows recent user actions like creating cards, viewing dashboards, etc. Args: - format: Response format
metabase_get_recent_viewsGet the current user's recently viewed items. Returns up to 10 most recently viewed cards and dashboards. Args: - format: Response format
metabase_create_segmentCreate a new segment. Requires admin privileges. Args: - name: Segment name - description: Segment description - tableId: Table ID the segment applies to - filter: Filter definition in MBQL format
metabase_update_segmentUpdate an existing segment. Args: - segmentId: Segment ID - name: New name - description: New description - filter: New filter definition - archived: Archive/unarchive
metabase_delete_segmentDelete a segment. Args: - segmentId: Segment ID
metabase_list_metricsList all metrics in Metabase. Metrics are saved aggregations that can be reused in questions. Args: - format: Response format
metabase_get_metricGet details of a specific metric. Args: - metricId: Metric ID - format: Response format
metabase_create_metricCreate a new metric. Requires admin privileges. Args: - name: Metric name - description: Metric description - tableId: Table ID the metric applies to - aggregation: Aggregation definition in MBQL format - filter: Optional filter in MBQL format
metabase_update_metricUpdate an existing metric. Args: - metricId: Metric ID - name: New name - description: New description - aggregation: New aggregation - filter: New filter - archived: Archive/unarchive
metabase_delete_metricDelete a metric. Args: - metricId: Metric ID
metabase_list_tablesList all tables, optionally filtered by database. Args: - databaseId: Filter by database ID (optional) - format: Response format
metabase_get_tableGet details of a specific table by ID. Args: - tableId: Table ID - format: Response format
metabase_get_table_metadataGet full metadata for a table including all fields. Args: - tableId: Table ID - format: Response format
metabase_update_tableUpdate table display settings. Args: - tableId: Table ID - displayName: New display name - description: New description - visibilityType: Visibility type
metabase_get_fieldGet details of a specific field by ID. Args: - fieldId: Field ID - format: Response format
metabase_update_fieldUpdate field metadata and settings. Args: - fieldId: Field ID - displayName: New display name - description: New description - semanticType: Semantic type (e.g., 'type/Email', 'type/URL') - visibilityType: Visibility ('normal', 'details-only', 'sensitive', 'retired') - hasFieldValues: How to handle values ('none', 'list', 'search')
metabase_get_field_valuesGet distinct values for a field. Useful for understanding data distribution and for filter dropdowns. Args: - fieldId: Field ID
metabase_rescan_field_valuesRescan values for a specific field. Args: - fieldId: Field ID
metabase_list_usersList all users in Metabase. Args: - limit: Maximum users to return (default: 20) - offset: Pagination offset - format: Response format
metabase_create_userCreate a new user in Metabase. Requires admin privileges. Args: - email: User email (required) - firstName: First name - lastName: Last name - password: Initial password - groupIds: Permission group IDs to add user to
metabase_update_userUpdate an existing user. Args: - userId: User ID to update - email: New email - firstName: New first name - lastName: New last name - locale: User locale - isSuperuser: Admin status (requires admin) - groupIds: Permission group IDs
metabase_deactivate_userDeactivate a user account. The user will be unable to log in but their data is preserved. Args: - userId: User ID to deactivate
metabase_reactivate_userReactivate a deactivated user account. Args: - userId: User ID to reactivate
metabase_list_segments{
"format": "example_format"
}metabase_get_user{
"format": "example_format",
"userId": 10
}metabase_get_current_user{
"format": "example_format"
}