Files
nucleoDocs/mcp-metabase-server
josedario87 834682519a
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 20s
Envolver arrays en objetos para structuredContent
- structuredContent: collections -> structuredContent: { collections }
- structuredContent: databases -> structuredContent: { databases }
- structuredContent: dashboards -> structuredContent: { dashboards }
- Soluciona error de tipo donde array no es asignable a objeto
2025-10-28 15:48:03 -06:00
..
2025-10-28 10:49:18 -06:00
2025-10-28 10:49:18 -06:00
2025-10-28 10:49:18 -06:00
2025-10-28 10:49:18 -06:00
2025-10-28 10:49:18 -06:00

MCP Metabase Server

Servidor MCP (Model Context Protocol) para interactuar con Metabase API.

Instalación Rápida

claude mcp add --transport http nucleodocs-metabase https://metabase.nucleoriofrio.com/mcp

Características

Proporciona herramientas MCP para:

  • metabase_cards: Listar y buscar cards/questions
  • metabase_card_info: Obtener detalles de una card específica
  • metabase_execute_card: Ejecutar cards con parámetros dinámicos
  • metabase_create_card: Crear nuevas cards/questions
  • metabase_update_card: Actualizar nombre y descripción de cards
  • metabase_collections: Listar colecciones
  • metabase_databases: Listar bases de datos (con opción de incluir metadata)
  • metabase_dashboards: Listar dashboards
  • metabase_dashboard_info: Obtener detalles de un dashboard

Variables de Entorno

PORT=3000                                    # Puerto del servidor (default: 3000)
METABASE_URL=http://metabase:3000           # URL de Metabase
METABASE_API_KEY=mb_xxxxxxxxxxxxx           # API Key de Metabase (requerida)

Autenticación

Este servidor usa API Keys de Metabase para autenticación.

Crear una API Key en Metabase:

  1. Ve a Settings → Admin → API Keys
  2. Crea una nueva API Key
  3. Copia la key y configúrala como METABASE_API_KEY

Desarrollo Local

# Instalar dependencias
npm install

# Desarrollo con hot reload
npm run dev

# Build
npm run build

# Producción
npm start

Docker

# Build
docker build -t mcp-metabase-server .

# Run
docker run -p 3000:3000 \
  -e METABASE_URL=http://metabase:3000 \
  -e METABASE_API_KEY=mb_xxxxx \
  mcp-metabase-server

Uso con Claude Code

claude mcp add --transport http nucleodocs-metabase https://metabase.tudominio.com/mcp

Ejemplos de Uso

Listar todas las cards

{
  "action": "list"
}

Buscar cards por nombre

{
  "action": "search",
  "query": "ventas"
}

Ejecutar card con parámetros

{
  "card_id": 123,
  "parameters": [
    {
      "type": "date/single",
      "target": ["variable", ["template-tag", "fecha_desde"]],
      "value": "2025-01-01"
    }
  ]
}

Crear nueva card con SQL nativa

{
  "name": "Reporte de Ventas",
  "description": "Ventas del último mes",
  "dataset_query": {
    "type": "native",
    "database": 2,
    "native": {
      "query": "SELECT * FROM ventas WHERE fecha >= {{fecha_desde}}",
      "template_tags": {
        "fecha_desde": {
          "type": "date",
          "name": "fecha_desde",
          "display_name": "Fecha Desde"
        }
      }
    }
  },
  "display": "table",
  "collection_id": 5
}

API Metabase

Documentación: https://www.metabase.com/docs/latest/api

Endpoints implementados:

  • GET /api/card - Listar cards
  • GET /api/card/:id - Obtener card
  • POST /api/card/:id/query - Ejecutar card
  • POST /api/card - Crear card
  • PUT /api/card/:id - Actualizar card
  • GET /api/collection - Listar colecciones
  • GET /api/database - Listar bases de datos
  • GET /api/database/:id/metadata - Metadata de BD
  • GET /api/dashboard - Listar dashboards
  • GET /api/dashboard/:id - Obtener dashboard

Licencia

MIT