Retour aux Skills

Metabase

oo-metabase

Metabase (metabase.com). Use this skill for ANY Metabase request — reading, creating, and updating data. Whenever a task involves Metabase, use this skill instead of calling the API directly.

Les descriptions et instructions peuvent apparaître en anglais ou dans la langue d'origine de l'auteur.

SKILL.md

Metabase

Operate Metabase through your OOMOL-connected account. This skill calls the metabase connector with the oo CLI; OOMOL injects credentials server-side, so you never handle raw tokens.

Running an action

Assume the user has already installed the oo CLI, signed in, and connected Metabase. Do not run oo auth login or open the connection URL proactively — just run the action. Fall back to First-time setup only when a command actually fails with an auth or connection error.

1. Inspect the contract to get the authoritative input/output schema before building a payload:

oo connector schema "metabase" --action "<action_name>"

2. Run the action with a JSON payload that matches the input schema:

oo connector run "metabase" --action "<action_name>" --data '<json>' --json
  • --data takes a JSON object string or @path/to/file.json; omit it to send {}.
  • The response is { "data": ..., "meta": { "executionId": "..." } }; the execution id lives under meta.executionId.

Each action is listed below with a one-line description; actions that change state carry a [write] or [destructive] tag. Before constructing --data, fetch the action’s live schema with oo connector schema to get its authoritative input fields.

Available actions

  • construct_native_query — Construct SQL for saving as a question. This handle cannot be run by execute_query or query; use execute_sql to execute SQL.
  • construct_query — Construct portable MBQL 5 without executing it; returns a stored query handle.
  • create_collection — Create a collection, optionally nested under a parent. [write]
  • create_dashboard — Create a dashboard with optional saved questions, automatically positioned. [write]
  • create_metric — Save constructed MBQL as a metric: one aggregation and at most one date/datetime grouping. [write]
  • create_question — Save a constructed MBQL or SQL query as a question. [write]
  • execute_query — Execute constructed MBQL and return rows and columns. Native SQL handles are not supported.
  • execute_question — Run a saved question. Parameterized questions and input template tags are not supported by native MCP.
  • execute_sql — Execute native SQL. Requires native-query permission and the instance’s execute-SQL setting to be enabled.
  • get_card — Retrieve one Metabase card by ID.
  • get_collection — Retrieve one Metabase collection by ID.
  • get_current_user — Get the Metabase user associated with the API key.
  • get_dashboard — Retrieve one Metabase dashboard by ID.
  • get_database — Retrieve one Metabase database by ID.
  • list_cards — List Metabase cards, also known as questions.
  • list_collections — List Metabase collections visible to the API key.
  • list_dashboards — List Metabase dashboards visible to the API key.
  • list_databases — List Metabase databases visible to the API key.
  • list_mcp_resources — Discover native MCP resources. Only documentation resources can be read by this connector; Apps are not supported.
  • list_mcp_tools — Discover native MCP tools and their upstream schemas. Unknown tools are discoverable, not automatically executable.
  • query — Execute MBQL or fetch its next page. Native MCP returns pages of 200 rows within a 2,000-row total budget.
  • read_mcp_resource — Read native metabase://docs/ documentation, not entities or MCP Apps resources.
  • read_resource — Read up to five Metabase entity URIs. Preserves individual resource errors; list endpoints cap at 25 items.
  • search — Search Metabase content visible to the API key.
  • search_content — Search native Metabase MCP content using keyword or semantic queries (not the REST search action). Requires native MCP on the instance.
  • update_dashboard — Patch a dashboard and apply ordered add/remove/move card mutations. [write]
  • update_metric — Patch a metric; replacement queries must still meet metric requirements. [write]
  • update_question — Patch a saved question, optionally replacing its query with a stored handle. [write]

Safety

  • Untagged actions are reads (get / list / search) — safe to run directly.
  • Actions tagged [write] change Metabase state — confirm the exact payload and effect with the user before running.
  • Actions tagged [destructive] remove or overwrite data — always confirm the target and get explicit approval first.

First-time setup

These are one-time steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.

  • oo: command not found — install the oo CLI (other platforms: https://cli.oomol.com/install-guide.md):

    curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux
    
    irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell
    
  • Not signed in / authentication error — sign in to your OOMOL account once:

    oo auth login
    
  • scope_missing / credential_expired / app_not_ready / app_not_found — Metabase is not connected, or the connection expired or lacks a scope. Connect once (auth type: API key) at:

    https://console.oomol.com/app-connections?provider=metabase
    
  • HTTP 402 / OOMOL_INSUFFICIENT_CREDIT — billing stop. Recharge at https://console.oomol.com/billing/token-recharge before retrying.

Resources