Metabase MCP Server

Integra asistentes de IA con la plataforma de inteligencia empresarial y análisis Metabase.

Documentación

Metabase MCP Server

Un servidor de Model Context Protocol que integra asistentes de IA con la plataforma de analítica de Metabase.

Descripción general

Este servidor MCP proporciona integración con la API de Metabase, permitiendo que los LLM con capacidades MCP interactúen directamente con tus datos de analítica. Este servidor actúa como un puente entre tu plataforma de analítica y la IA conversacional.

Características principales

  • Acceso a recursos: Navega por los recursos de Metabase mediante URIs intuitivas metabase://
  • Dos métodos de autenticación: Soporte tanto para autenticación basada en sesión como por clave de API
  • Acceso estructurado a datos: Respuestas en formato JSON para un fácil consumo por parte de asistentes de IA
  • Registro exhaustivo: Registro detallado para facilitar la depuración y el monitoreo
  • Manejo de errores: Manejo robusto de errores con mensajes de error claros

Herramientas disponibles

El servidor expone las siguientes herramientas para asistentes de IA:

Herramientas de acceso a datos

  • list_dashboards: Recupera todos los paneles disponibles en tu instancia de Metabase
  • list_cards: Obtén todas las preguntas/tarjetas guardadas en Metabase
  • list_databases: Consulta todas las fuentes de base de datos conectadas
  • list_collections: Lista todas las colecciones en Metabase
  • list_tables: Lista todas las tablas en una base de datos específica
  • get_table_fields: Obtén todos los campos/columnas en una tabla específica

Herramientas de ejecución

  • execute_card: Ejecuta preguntas guardadas y recupera resultados con parámetros opcionales
  • execute_query: Ejecuta consultas SQL personalizadas contra cualquier base de datos conectada

Gestión de paneles

  • get_dashboard_cards: Extrae todas las tarjetas de un panel específico
  • create_dashboard: Crea un nuevo panel con el nombre y los parámetros especificados
  • update_dashboard: Actualiza el nombre, la descripción o los parámetros de un panel existente
  • delete_dashboard: Elimina un panel
  • add_card_to_dashboard: Añade o actualiza tarjetas en un panel con especificaciones de posición y asignación opcional de pestañas

Gestión de tarjetas/preguntas

  • create_card: Crea una nueva pregunta/tarjeta con consulta SQL
  • update_card_visualization: Actualiza la configuración de visualización de una tarjeta

Gestión de colecciones

  • create_collection: Crea una nueva colección para organizar paneles y preguntas

Configuración

El servidor admite dos métodos de autenticación:

Opción 1: Autenticación con nombre de usuario y contraseña

# Required
METABASE_URL=https://your-metabase-instance.com
METABASE_USER_EMAIL=your_email@example.com
METABASE_PASSWORD=your_password

# Optional
LOG_LEVEL=info # Options: debug, info, warn, error, fatal

Opción 2: Autenticación con clave de API (recomendada para producción)

# Required
METABASE_URL=https://your-metabase-instance.com
METABASE_API_KEY=your_api_key

# Optional
LOG_LEVEL=info # Options: debug, info, warn, error, fatal

Puedes configurar estas variables de entorno directamente o usar un archivo .env con dotenv.

Implementación con Smithery

Para usar este servidor MCP con Claude u otros asistentes de IA, haz un fork de este repositorio e impleméntalo usando Smithery:

Pasos para implementar:

  1. Haz un fork de este repositorio en tu cuenta de GitHub
  2. Ve a Smithery y conéctate con tu cuenta de GitHub
  3. Implementa el repositorio bifurcado a través de la interfaz de Smithery

Integración con Claude Desktop

Configura tu Claude Desktop para usar la versión alojada en Smithery:

MacOS: Edita ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: Edita %APPDATA%/Claude/claude_desktop_config.json

Autenticación con clave de API:

{
  "mcpServers": {
    "metabase-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "YOUR_GITHUB_USERNAME/metabase-mcp-server",
        "--config",
        "{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"your_api_key\",\"metabasePassword\":\"\",\"metabaseUserEmail\":\"\"}"
      ]
    }
  }
}

Autenticación con nombre de usuario y contraseña:

{
  "mcpServers": {
    "metabase-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "YOUR_GITHUB_USERNAME/metabase-mcp-server",
        "--config",
        "{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"\",\"metabasePassword\":\"your_password\",\"metabaseUserEmail\":\"your_email@example.com\"}"
      ]
    }
  }
}

Consideraciones de seguridad

  • Se recomienda usar autenticación con clave de API para entornos de producción
  • Mantén tus claves de API y credenciales seguras
  • Considera usar variables de entorno en lugar de codificar credenciales directamente
  • Aplica medidas de seguridad de red apropiadas para restringir el acceso a tu instancia de Metabase

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar un Pull Request.