MCP / Analytics and data

Metabase MCP

Metabase BI on your own instance: explore databases and tables, run saved questions and ad-hoc queries, manage cards, dashboards and collections. Connect it to Claude, Codex, Cursor or any MCP client through one FlyMy.AI MCP.

Your own API key41 actionsAnalytics and data
Ask your agent
Read my own Metabase dashboard list once and show up to 10 names and IDs.

Paste it into an assistant connected to FlyMy.AI. The agent picks the actions.

What Metabase MCP can do

41 actions in the FlyMy.AI catalog, the most used first. Your agent finds them through search_tools and calls the one the task needs.

ActionWhat it does
metabase_create_cardCreate a card (saved question)
metabase_create_collectionCreate a collection
metabase_create_dashboardCreate a dashboard
metabase_current_userGet the authenticated Metabase user. Use to confirm the API key works and see the current user's id and permissions.
metabase_delete_cardDelete a card permanently Prefer archiving via metabase_update_card(archived=true).
metabase_delete_dashboardDelete a dashboard Prefer archiving via metabase_update_dashboard(archived=true).
metabase_get_alertGet one alert with its channels and condition
metabase_get_cardGet one card (question)
metabase_get_collectionGet one collection. Use id 'root' for the root collection.
metabase_get_collection_itemsList items in a collection. Use id 'root' for the root.
metabase_get_dashboardGet one dashboard with its cards (dashcards) The dashcards include the ids needed by metabase_run_dashcard_query.
metabase_get_databaseGet one database
Show all 41 actions
ActionWhat it does
metabase_get_database_metadataGet a database's full metadata (schemas, tables, fields).
metabase_get_database_schema_tablesList tables in one schema of a database
metabase_get_database_schemasList a database's schemas
metabase_get_fieldGet one field's metadata
metabase_get_field_remappingGet the remapped (human-readable) value for a raw field value .
metabase_get_field_valuesGet a field's distinct values Works when the field's has_field_values is 'list'.
metabase_get_pulseGet one pulse (subscription) with its channels and schedule
metabase_get_tableGet one table
metabase_get_table_query_metadataGet a table's query metadata (fields, types, fks)
metabase_get_userGet one user
metabase_list_alertsList alerts (question goal/result notifications)
metabase_list_cardsList cards (saved questions)
metabase_list_collectionsList collections
metabase_list_dashboardsList dashboards
metabase_list_databasesList databases
metabase_list_pulsesList pulses (dashboard/question subscriptions)
metabase_list_tablesList all tables visible to the user
metabase_list_usersList users
metabase_run_card_queryRun a saved card (question) and return its result data
metabase_run_card_query_exportRun a saved card and export the result (csv|json|xlsx|api).
metabase_run_dashcard_queryRun one card on a dashboard and return its data
metabase_run_dataset_exportRun an ad-hoc query and export it (csv|json|xlsx).
metabase_run_dataset_queryRun an ad-hoc query and return result data Provide database id and either type=native with native={query: 'SELECT ...'} or type=query with an MBQL query object.
metabase_searchSearch across Metabase content
metabase_search_field_valuesSearch a field's values by prefix .
metabase_set_dashboard_cardsPlace/move/remove cards on a dashboard with a 'dashcards' array.
metabase_update_cardUpdate a card Send only the fields to change (name, description, dataset_query, display, visualization_settings, collection_id, archived).
metabase_update_collectionUpdate a collection Send only the fields to change (name, description, parent_id, archived).
metabase_update_dashboardUpdate a dashboard Send only the fields to change (name, description, collection_id, parameters, archived).

Ask your agent

Requests to paste as they are. Each one runs on the actions named under it.

“Read my own Metabase dashboard list once and show up to 10 names and IDs.”uses metabase_list_dashboards
“Read this Metabase dashboard definition and summarize up to 10 saved card names and purposes.”uses metabase_get_dashboard
“List up to 10 unarchived dashboards in this Metabase collection.”uses metabase_get_collection_items

Connect Metabase in a minute

One MCP for every integration. Add it once, then every MCP in the catalog is a request away.

  1. 01

    Add FlyMy.AI

    Add the FlyMy.AI MCP to your assistant with one of the commands below and sign in. No key to copy.

  2. 02

    Add your Metabase credentials

    Paste them into the Metabase connection settings once; they stay with FlyMy.AI, never in a prompt or a chat.

    • Metabase API key - API key from Admin - Settings - API keys. Create key ->
    • Metabase site URL - Your Metabase base URL, e.g. https://metabase.yourco.com. Create key ->
  3. 03

    Ask

    Paste a request from this page. Every run shows what it cost.

Claude Code
claude mcp add --transport http flymyai https://mcp-agents.flymy.ai/mcp

Then run /mcp in Claude Code and sign in.

Codex
codex mcp add flymy --url https://mcp-agents.flymy.ai/mcp

Then run codex mcp login flymy to sign in.

claude.ai and Claude Desktop
https://mcp-agents.flymy.ai/mcp

Settings, Connectors, Add custom connector: paste this URL.

Pay per run

FlyMy.AI bills the run: the model and the tool's seconds. Calls go to your own Metabase account, under its plan and limits. No seats and no minimum.

Go to the source

From the FlyMy.AI platform catalog of 2026-10-31: name, description, actions and setup as the platform lists them. Examples are requests to paste, not recorded runs.