Sáltate la instalación. Funcionando en menos de 2 minutos.
Inicia una prueba gratuita en cloud.anythingmcp.com, añade Metabase con un clic y apunta tu cliente de IA (Claude, ChatGPT, Copilot o Cursor) al endpoint MCP generado. Sin Docker, sin git clone, sin experiencia de desarrollo.
Resumen
Trabaja con Metabase, autoalojado o Metabase Cloud, desde cualquier agente de IA: busca y ejecuta preguntas guardadas y tarjetas de dashboards, lanza consultas SQL o MBQL, lee metadatos de bases de datos, tablas y campos, explora colecciones y crea o modifica preguntas, dashboards y colecciones. Clave de API con los permisos de un grupo de Metabase.
Prueba a pedir
Prompts de ejemplo para Metabase
Haz clic en un prompt para copiarlo. Pégalo en Claude, ChatGPT, Cursor, Gemini, Copilot u OpenClaw para ejecutarlo contra este conector.
Claude es IA y puede equivocarse. Verifica siempre las respuestas.
💡 ¿Sin instalación? Usa cloud.anythingmcp.com directamente. Inicia sesión, pulsa Connectors → Metabase, pega tus credenciales, genera una MCP API key y listo. Sin Docker, sin
git clone, sin servidor local.
Metabase
Trabaja con Metabase, autoalojado o Metabase Cloud, desde cualquier agente de IA: busca y ejecuta preguntas guardadas y tarjetas de dashboards, lanza consultas SQL o MBQL, lee metadatos de bases de datos, tablas y campos, explora colecciones y crea o modifica preguntas, dashboards y colecciones. Clave de API con los permisos de un grupo de Metabase.
Configuración
La configuración lleva unos 3 minutos. Necesitas una instancia de Metabase (autoalojada o Metabase Cloud) y un administrador que pueda crear una clave de API.
- Pon en
METABASE_URLla dirección con la que abres Metabase, por ejemplohttps://metabase.example.comohttps://yourcompany.metabaseapp.com, sin/apiy sin barra final. - Como administrador abre Admin settings, Settings, Authentication, API keys, haz clic en Create API key y dale un nombre y un grupo. La clave actúa con los permisos de ese grupo: para leer basta con acceso de visualización a las colecciones y acceso de consulta a las bases de datos que quieras; para crear y cambiar contenido hace falta acceso curate. Las lecturas solo para administradores, como
metabase_list_users, necesitan el grupo Administrators. - Copia la clave (se muestra una sola vez) en
METABASE_API_KEY. Se envía en la cabecerax-api-key. - Instala el conector y ejecuta
metabase_get_current_user: muestra la cuenta con la que actúa la clave y confirma dirección y clave.
Qué lee: contenido mediante metabase_search (preguntas, modelos, métricas, dashboards, colecciones, tablas, bases de datos, segmentos y, si quieres, el texto SQL de las preguntas nativas o la papelera), las colecciones y su contenido, preguntas guardadas, modelos y métricas con la consulta que hay detrás, dashboards con pestañas, filtros y tarjetas, y los elementos recientes y más populares. Las bases de datos conectadas a Metabase con esquemas, tablas y campos (los datos de conexión quedan fuera) y los valores en caché de los campos de categoría para los filtros. Personas y grupos de permisos.
Qué ejecuta: metabase_run_card ejecuta una pregunta guardada o un modelo, con parameters para sus filtros; metabase_run_dashboard_card ejecuta una tarjeta de un dashboard con los valores de filtro del dashboard. metabase_run_native_query ejecuta SQL en el dialecto de la base de datos, con variables {{name}} mediante template_tags y parameters; metabase_run_query ejecuta una consulta MBQL construida con ids de tablas y campos. No se guarda nada. La IA responde primero con preguntas guardadas y escribe consultas ad hoc solo cuando ninguna encaja.
Qué escribe: metabase_create_card guarda una nueva pregunta, modelo o métrica en una colección o dentro de un dashboard, metabase_update_card la modifica, metabase_create_dashboard crea un dashboard vacío y metabase_update_dashboard cambia nombre, filtros, pestañas o tarjetas. Su lista dashcards reemplaza todas las tarjetas, así que la IA lee antes el dashboard, conserva las tarjetas existentes con sus ids y añade las nuevas con un id negativo en la cuadrícula de 24 columnas. metabase_create_collection y metabase_update_collection crean, renombran y mueven colecciones.
Desactivadas al instalar: ninguna, todas las herramientas están activas. No hay herramientas de borrado: archivar una pregunta, un dashboard o una colección con las herramientas de actualización la mueve a la papelera, desde donde se restaura con archived false.
Formatos de datos: los resultados de las consultas llegan como data.cols (name, display_name, base_type como type/Integer o type/DateTime) y data.rows (arrays en el orden de las columnas), con row_count. Las fechas son ISO 8601 en la zona horaria de informes de la instancia. Los ids de bases de datos, tablas, campos, preguntas y dashboards son enteros; la colección superior es root. El type de una tarjeta es question, model o metric; en la búsqueda y en el contenido de las colecciones un modelo aparece como dataset.
Paginación: metabase_search, metabase_list_collection_items y metabase_list_users aceptan limit y offset y devuelven total. Las demás listas lo devuelven todo de una vez. metabase_get_database_metadata puede ser muy grande en bases de datos extensas; metabase_list_schema_tables y metabase_get_table_metadata son más ligeras.
Límites: las herramientas de consulta devuelven como máximo 2.000 filas, el límite de la API para resultados ad hoc, así que la IA agrega o filtra en la consulta en lugar de recorrer filas en bruto. Una consulta nativa usa la conexión a la base de datos de Metabase: para bases de datos que nunca deben cambiar, configura en Metabase un usuario de base de datos de solo lectura.
Errores comunes: una consulta fallida vuelve con status: failed y el mensaje de la base de datos en error, y se notifica como llamada fallida. 401 significa una clave errónea o eliminada. 403 significa que al grupo de la clave le falta el permiso (acceso a datos, curate o admin). 404 es un id erróneo o una dirección sin rutas /api: revisa METABASE_URL.
El conector no borra contenido de forma definitiva, no cambia usuarios, grupos ni permisos y no crea ni edita conexiones a bases de datos.
Requisitos previos: METABASE_URL, METABASE_API_KEY
Instalar el conector localmente
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
Abre http://localhost:3000/connectors/store, elige Metabase e introduce las variables listadas en los Requisitos previos.
Herramientas disponibles
| 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… |
Ejemplos de prompts
- "Busca la pregunta guardada sobre los ingresos mensuales y ejecútala para los últimos 12 meses."
- "¿Qué dashboards son los más vistos en nuestro Metabase? Enuméralos con su colección."
- "Ejecuta las tarjetas del dashboard Sales overview con el filtro de región en EMEA y resume las cifras."
- "Escribe una consulta SQL sobre la tabla orders que cuente los pedidos por país de este año y enséñame el resultado."
- "Guarda la consulta que acabas de ejecutar como pregunta con gráfico de barras en la colección Marketing."
Siguientes pasos
¿Te ha sido útil esta guía?