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.
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.
| Action | What it does |
|---|---|
metabase_create_card | Create a card (saved question) |
metabase_create_collection | Create a collection |
metabase_create_dashboard | Create a dashboard |
metabase_current_user | Get the authenticated Metabase user. Use to confirm the API key works and see the current user's id and permissions. |
metabase_delete_card | Delete a card permanently Prefer archiving via metabase_update_card(archived=true). |
metabase_delete_dashboard | Delete a dashboard Prefer archiving via metabase_update_dashboard(archived=true). |
metabase_get_alert | Get one alert with its channels and condition |
metabase_get_card | Get one card (question) |
metabase_get_collection | Get one collection. Use id 'root' for the root collection. |
metabase_get_collection_items | List items in a collection. Use id 'root' for the root. |
metabase_get_dashboard | Get one dashboard with its cards (dashcards) The dashcards include the ids needed by metabase_run_dashcard_query. |
metabase_get_database | Get one database |
Show all 41 actions
| Action | What it does |
|---|---|
metabase_get_database_metadata | Get a database's full metadata (schemas, tables, fields). |
metabase_get_database_schema_tables | List tables in one schema of a database |
metabase_get_database_schemas | List a database's schemas |
metabase_get_field | Get one field's metadata |
metabase_get_field_remapping | Get the remapped (human-readable) value for a raw field value . |
metabase_get_field_values | Get a field's distinct values Works when the field's has_field_values is 'list'. |
metabase_get_pulse | Get one pulse (subscription) with its channels and schedule |
metabase_get_table | Get one table |
metabase_get_table_query_metadata | Get a table's query metadata (fields, types, fks) |
metabase_get_user | Get one user |
metabase_list_alerts | List alerts (question goal/result notifications) |
metabase_list_cards | List cards (saved questions) |
metabase_list_collections | List collections |
metabase_list_dashboards | List dashboards |
metabase_list_databases | List databases |
metabase_list_pulses | List pulses (dashboard/question subscriptions) |
metabase_list_tables | List all tables visible to the user |
metabase_list_users | List users |
metabase_run_card_query | Run a saved card (question) and return its result data |
metabase_run_card_query_export | Run a saved card and export the result (csv|json|xlsx|api). |
metabase_run_dashcard_query | Run one card on a dashboard and return its data |
metabase_run_dataset_export | Run an ad-hoc query and export it (csv|json|xlsx). |
metabase_run_dataset_query | Run 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_search | Search across Metabase content |
metabase_search_field_values | Search a field's values by prefix . |
metabase_set_dashboard_cards | Place/move/remove cards on a dashboard with a 'dashcards' array. |
metabase_update_card | Update a card Send only the fields to change (name, description, dataset_query, display, visualization_settings, collection_id, archived). |
metabase_update_collection | Update a collection Send only the fields to change (name, description, parent_id, archived). |
metabase_update_dashboard | Update 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.
metabase_list_dashboardsmetabase_get_dashboardmetabase_get_collection_itemsConnect Metabase in a minute
One MCP for every integration. Add it once, then every MCP in the catalog is a request away.
- 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.
- 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 ->
- 03
Ask
Paste a request from this page. Every run shows what it cost.
claude mcp add --transport http flymyai https://mcp-agents.flymy.ai/mcp
Then run /mcp in Claude Code and sign in.
codex mcp add flymy --url https://mcp-agents.flymy.ai/mcp
Then run codex mcp login flymy to sign in.
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.