Salta l'installazione. Attivo in meno di 2 minuti.
Avvia una prova gratuita su cloud.anythingmcp.com, aggiungi Metabase con un clic, poi punta il tuo client AI (Claude, ChatGPT, Copilot o Cursor) all'endpoint MCP generato. Niente Docker, niente git clone, nessuna esperienza di sviluppo richiesta.
In breve
Lavora con Metabase, self-hosted o Metabase Cloud, da qualsiasi agente AI: cerca ed esegui domande salvate e card delle dashboard, lancia query SQL o MBQL, leggi i metadati di database, tabelle e campi, sfoglia le raccolte e crea o modifica domande, dashboard e raccolte. API key con i permessi di un gruppo Metabase.
Prova a chiedere
Prompt di esempio per Metabase
Clicca su un prompt per copiarlo. Incollalo in Claude, ChatGPT, Cursor, Gemini, Copilot o OpenClaw per eseguirlo contro questo connettore.
Claude è un'AI e può sbagliare. Verifica sempre le risposte.
💡 Niente installazione? Vai direttamente su cloud.anythingmcp.com. Accedi, clicca Connectors → Metabase, inserisci le credenziali, genera una MCP API key e hai finito. Niente Docker, niente
git clone, niente server locale.
Metabase
Lavora con Metabase, self-hosted o Metabase Cloud, da qualsiasi agente AI: cerca ed esegui domande salvate e card delle dashboard, lancia query SQL o MBQL, leggi i metadati di database, tabelle e campi, sfoglia le raccolte e crea o modifica domande, dashboard e raccolte. API key con i permessi di un gruppo Metabase.
Setup
La configurazione richiede circa 3 minuti. Ti serve un'istanza Metabase (self-hosted o Metabase Cloud) e un amministratore che possa creare una API key.
- Inserisci in
METABASE_URLl'indirizzo da cui apri Metabase, per esempiohttps://metabase.example.comohttps://yourcompany.metabaseapp.com, senza/apie senza barra finale. - Da amministratore apri Admin settings, Settings, Authentication, API keys, fai clic su Create API key e assegna alla chiave un nome e un gruppo. La chiave agisce con i permessi di quel gruppo: per leggere bastano l'accesso in visualizzazione alle raccolte e l'accesso in query ai database che ti interessano; per creare e modificare contenuti serve l'accesso curate. Le letture riservate agli amministratori, come
metabase_list_users, richiedono il gruppo Administrators. - Copia la chiave (viene mostrata una sola volta) in
METABASE_API_KEY. Viene inviata nell'headerx-api-key. - Installa il connettore ed esegui
metabase_get_current_user: mostra l'account con cui agisce la chiave e conferma indirizzo e chiave.
Cosa legge: i contenuti tramite metabase_search (domande, modelli, metriche, dashboard, raccolte, tabelle, database, segmenti, a richiesta anche il testo SQL delle domande native o il cestino), le raccolte e il loro contenuto, domande salvate, modelli e metriche con la query che c'è dietro, dashboard con schede, filtri e card, e gli elementi recenti e più popolari. I database collegati a Metabase con schemi, tabelle e campi (i dati di connessione restano esclusi) e i valori in cache dei campi categoria per i filtri. Persone e gruppi di permessi.
Cosa esegue: metabase_run_card esegue una domanda salvata o un modello, con parameters per i filtri; metabase_run_dashboard_card esegue una card di una dashboard con i valori dei filtri della dashboard. metabase_run_native_query esegue SQL nel dialetto del database, con variabili {{name}} tramite template_tags e parameters; metabase_run_query esegue una query MBQL costruita da id di tabelle e campi. Non viene salvato nulla. L'AI risponde prima con le domande salvate e scrive query ad hoc solo quando nessuna è adatta.
Cosa scrive: metabase_create_card salva una nuova domanda, un modello o una metrica in una raccolta o dentro una dashboard, metabase_update_card la modifica, metabase_create_dashboard crea una dashboard vuota e metabase_update_dashboard ne cambia nome, filtri, schede o card. La sua lista dashcards sostituisce tutte le card, quindi l'AI legge prima la dashboard, mantiene le card esistenti con i loro id e aggiunge quelle nuove con un id negativo sulla griglia di 24 colonne. metabase_create_collection e metabase_update_collection creano, rinominano e spostano le raccolte.
Disattivati all'installazione: nessuno, tutti i tool sono attivi. Non esistono tool di eliminazione: archiviando una domanda, una dashboard o una raccolta con i tool di aggiornamento la sposti nel cestino, da cui la ripristini con archived false.
Formati dei dati: i risultati delle query arrivano come data.cols (name, display_name, base_type come type/Integer o type/DateTime) e data.rows (array nell'ordine delle colonne), con row_count. Le date sono ISO 8601 nel fuso orario dei report dell'istanza. Gli id di database, tabelle, campi, domande e dashboard sono interi; la raccolta principale è root. Il type di una card è question, model o metric; nella ricerca e nel contenuto delle raccolte un modello appare come dataset.
Paginazione: metabase_search, metabase_list_collection_items e metabase_list_users accettano limit e offset e restituiscono total. Le altre liste restituiscono tutto in una volta. metabase_get_database_metadata può essere molto grande per database estesi; metabase_list_schema_tables e metabase_get_table_metadata sono più leggeri.
Limiti: i tool di query restituiscono al massimo 2.000 righe, il limite dell'API per i risultati ad hoc, quindi l'AI aggrega o filtra nella query invece di scorrere righe grezze. Una query nativa usa la connessione al database di Metabase: per i database che non devono mai cambiare, configura in Metabase un utente del database in sola lettura.
Errori comuni: una query fallita torna con status: failed e il messaggio del database in error, e viene segnalata come chiamata fallita. 401 significa chiave sbagliata o eliminata. 403 significa che al gruppo della chiave manca il permesso (accesso ai dati, curate o admin). 404 indica un id sbagliato o un indirizzo senza le rotte /api: controlla METABASE_URL.
Il connettore non elimina definitivamente i contenuti, non modifica utenti, gruppi o permessi e non crea né modifica connessioni ai database.
Prerequisiti: METABASE_URL, METABASE_API_KEY
Installazione locale del connettore
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Apri http://localhost:3000/connectors/store, scegli Metabase e inserisci le variabili elencate nei Prerequisiti.
Tool disponibili
| Tool | What it does |
|---|---|
metabase_get_current_user | The account the API key acts as: id, name, e-mail, whether it is an admin, and its group memberships |
metabase_list_users | People in Metabase (admin only): id, name, e-mail, active state, groups, last login |
metabase_list_permission_groups | Permission groups (All Users, Administrators and custom groups) with their member count |
metabase_list_databases | Databases connected to Metabase: id, name, engine (postgres, bigquery-cloud-sdk, snowflake, ...), sync state. include=tables also lists… |
metabase_get_database | One database: name, engine, time zone, sync schedule and, with include=tables, its tables |
metabase_get_database_metadata | Full metadata of a database: every table with its fields (id, name, display name, base and semantic type, foreign key target) |
metabase_list_database_schemas | Schema names of one database (for example public or analytics), for metabase_list_schema_tables |
metabase_list_schema_tables | Tables of one schema of a database: id, name, display name, description, entity type, row count estimate |
metabase_get_table_metadata | A table with its fields (id, name, display name, base type, semantic type such as type/PK, type/FK, type/Category, foreign key targets)… |
metabase_get_field_values | Distinct values Metabase has cached for a category field (up to 1000), useful for filter values |
metabase_list_cards | Saved questions, models and metrics: id, name, type (question, model, metric), display, collection, description, the query behind it… |
metabase_get_card | One saved question, model or metric: name, description, collection, display, the query (dataset_query: native SQL or MBQL), parameters and… |
metabase_run_card | Run a saved question (or model) and return its result: data.cols (column names and types), data.rows (rows as arrays), row_count |
metabase_list_dashboards | Dashboards: id, name, description, collection, creator and last edit |
metabase_get_dashboard | One dashboard with its tabs, filters (parameters) and cards (dashcards): each dashcard has its id, card_id, the card, position and… |
metabase_run_dashboard_card | Run one card of a dashboard with the dashboard's filter values and return its result rows (data.cols, data.rows) |
metabase_list_collections | Collections (folders for questions, models and dashboards): id, name, location (path of parent ids), personal owner, archived flag |
metabase_get_collection | One collection: name, description, location, authority level (official), personal owner |
metabase_list_collection_items | What a collection contains: questions (card), models (dataset), metrics, dashboards, sub-collections, with id, name, model, description and… |
metabase_search | Search Metabase content by name and description: questions (card), models (dataset), metrics, dashboards, collections, tables, databases… |
metabase_run_native_query | Run a SQL (native) query on a connected database without saving it, with the permissions of the API key's group |
metabase_run_query | Run any dataset query without saving it: an MBQL query built from table and field ids ({"database": 1, "type": "query", "query"… |
metabase_get_recent_items | Items the API key's account recently viewed (views) or picked in the data picker (selections): questions, dashboards, tables, collections… |
metabase_get_popular_items | The most viewed dashboards, questions and tables of the instance, for "what do people use most" |
metabase_create_card | Save a new question, model or metric in a collection. dataset_query is the query (native SQL or MBQL, as in metabase_run_query); display is… |
metabase_update_card | Change a saved question: name, description, query, chart type and settings, collection, or archive it (archived true moves it to the trash… |
metabase_create_dashboard | Create an empty dashboard in a collection |
metabase_update_dashboard | Change a dashboard: name, description, collection, filters, tabs, archive state, or its cards. dashcards REPLACES the whole card list: read… |
metabase_create_collection | Create a collection (folder), optionally inside another one |
metabase_update_collection | Rename a collection, change its description, move it under another parent, or archive it (archived true moves it and its content to the… |
Esempi di prompt
- "Trova la domanda salvata sul fatturato mensile ed eseguila per gli ultimi 12 mesi."
- "Quali dashboard sono le più viste nel nostro Metabase? Elencale con la loro raccolta."
- "Esegui le card della dashboard Sales overview con il filtro regione su EMEA e riassumi i numeri."
- "Scrivi una query SQL sulla tabella orders che conti gli ordini per paese di quest'anno e mostrami il risultato."
- "Salva la query appena eseguita come domanda con grafico a barre nella raccolta Marketing."
Prossimi passi
Questa guida ti è stata utile?