Superset MCP Server

Gestiona conjuntos de datos, métricas y consultas SQL de Apache Superset.

Documentación

Servidor MCP de Superset

Un servidor de Model Context Protocol (MCP) para gestionar conjuntos de datos, métricas y consultas SQL de Apache Superset.

📖 中文文档

🚀 Características

  • Gestión de conjuntos de datos: Operaciones CRUD completas para conjuntos de datos de Superset
  • Gestión de métricas: Crear, actualizar y gestionar métricas de conjuntos de datos
  • Columnas calculadas: Crear y gestionar columnas calculadas para conjuntos de datos
  • Gestión de gráficos: Ver y modificar parámetros de visualización y filtros de gráficos
  • Operaciones de paneles: Acceder a información de paneles, gráficos y filtros
  • Ejecución de consultas SQL: Ejecutar consultas SQL directamente a través de Superset
  • Integración de bases de datos: Listar y gestionar conexiones de bases de datos
  • Acceso a recursos: Explorar conjuntos de datos, bases de datos y métricas a través de los recursos de MCP

📋 Requisitos previos

  • Node.js 18+
  • Acceso a una instancia de Apache Superset
  • Credenciales válidas de Superset (nombre de usuario/contraseña o token de acceso)

🛠️ Instalación

Uso con Cursor o Claude Desktop

1. Añadir a la configuración de MCP

Añade la siguiente configuración a tu archivo de ajustes de MCP:

{
  "mcpServers": {
    "superset-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "superset-mcp"
      ],
      "env": {
        "SUPERSET_BASE_URL": "",
        "SUPERSET_USERNAME": "",
        "SUPERSET_PASSWORD": ""
      }
    }
  }
}

2. Variables de entorno

Configura tu conexión a Superset actualizando la sección env en la configuración de MCP:

"env": {
  "SUPERSET_BASE_URL": "your-superset-url",
  "SUPERSET_USERNAME": "your_username",
  "SUPERSET_PASSWORD": "your_password",
}

Alternativa: Uso de token de acceso

"env": {
  "SUPERSET_BASE_URL": "your-superset-url",
  "SUPERSET_ACCESS_TOKEN": "your_access_token"
}

🔧 Herramientas disponibles

Operaciones con conjuntos de datos

HerramientaDescripción
list_datasetsObtener lista paginada de todos los conjuntos de datos con filtrado y ordenación
get_datasetObtener información detallada de un conjunto de datos específico
create_datasetCrear un nuevo conjunto de datos (físico o virtual con SQL)
update_datasetActualizar propiedades de un conjunto de datos existente
delete_datasetEliminar un conjunto de datos
refresh_dataset_schemaActualizar el esquema del conjunto de datos desde la base de datos de origen
find_and_replace_in_sqlBuscar y reemplazar texto en el SQL del conjunto de datos virtual

Operaciones con métricas

HerramientaDescripción
get_dataset_metricsObtener todas las métricas de un conjunto de datos
create_dataset_metricCrear una nueva métrica con expresión SQL
update_dataset_metricActualizar propiedades de una métrica existente
delete_dataset_metricEliminar una métrica

Operaciones con columnas calculadas

HerramientaDescripción
get_dataset_columnsObtener información de columnas (incluidas las columnas calculadas)
create_calculated_columnCrear una nueva columna calculada con expresión SQL
update_calculated_columnActualizar una columna calculada existente
delete_calculated_columnEliminar una columna calculada

Operaciones con gráficos

HerramientaDescripción
list_chartsObtener lista paginada de todos los gráficos con filtrado y ordenación
create_chartCrear un nuevo gráfico; para la mayoría de los tipos de visualización, primero debes llamar a get_chart_params para obtener el esquema de parámetros correcto
get_chart_paramsObtener el formato de parámetros requerido para los tipos de visualización de gráficos
get_current_chart_configObtener los detalles de configuración actuales del gráfico (parámetros de visualización, relaciones, propiedad, contexto de consulta)
update_chartActualizar propiedades del gráfico, incluidos metadatos, fuente de datos y parámetros de visualización
get_chart_filtersObtener los filtros de datos actuales aplicados a un gráfico
set_chart_filtersEstablecer filtros de datos para un gráfico (actualiza el gráfico de forma permanente)

Operaciones con paneles

HerramientaDescripción
list_dashboardsObtener lista paginada de todos los paneles con filtrado y ordenación
get_dashboard_chartsObtener todos los gráficos de un panel específico con su información
get_dashboard_filtersObtener la configuración de filtros del panel (filtros nativos, filtros globales)
get_dashboard_chart_query_contextObtener el contexto de consulta completo de un gráfico en el panel (ID del conjunto de datos, métricas utilizadas con expresiones SQL, columnas calculadas, filtros aplicados)
get_dashboard_configObtener detalles del panel y configuración integrada
update_dashboard_configActualizar propiedades del panel y/o configuración integrada
add_chart_to_dashboardAñadir un gráfico existente a un panel y colocarlo en el diseño
remove_chart_from_dashboardEliminar un gráfico de un panel y limpiar su diseño

Operaciones SQL

HerramientaDescripción
execute_sqlEjecutar consultas SQL con limitación de resultados y visualización de datos

Operaciones con bases de datos

HerramientaDescripción
list_databasesObtener todas las conexiones de bases de datos configuradas

📚 Recursos

Accede a vistas generales de solo lectura a través de los recursos de MCP:

  • superset://datasets - Vista general de todos los conjuntos de datos
  • superset://databases - Lista de conexiones de bases de datos

Ejemplos de prompts

Utiliza estos prompts naturales con tu asistente habilitado para MCP; seleccionará las herramientas y argumentos adecuados.

  • Listar conjuntos de datos

    • "Muestra los primeros 10 conjuntos de datos, los modificados más recientemente primero. Solo incluye id y table_name."
  • Crear un gráfico

    • "Crea un gráfico de tabla simple llamado 'Sample Table' usando el conjunto de datos 12."
  • Actualizar un gráfico

    • "Cambia el gráfico 42 a un gráfico de barras agrupado por país y usando SUM(value)."
  • Contexto de consulta del panel

    • "En el panel 'sales-kpi', muestra el contexto de consulta completo del gráfico 101."
  • Ejecutar SQL

    • "En la base de datos 3, obtén los 10 usuarios creados más recientemente, devolviendo solo id y name."