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
| Herramienta | Descripción |
|---|---|
list_datasets | Obtener lista paginada de todos los conjuntos de datos con filtrado y ordenación |
get_dataset | Obtener información detallada de un conjunto de datos específico |
create_dataset | Crear un nuevo conjunto de datos (físico o virtual con SQL) |
update_dataset | Actualizar propiedades de un conjunto de datos existente |
delete_dataset | Eliminar un conjunto de datos |
refresh_dataset_schema | Actualizar el esquema del conjunto de datos desde la base de datos de origen |
find_and_replace_in_sql | Buscar y reemplazar texto en el SQL del conjunto de datos virtual |
Operaciones con métricas
| Herramienta | Descripción |
|---|---|
get_dataset_metrics | Obtener todas las métricas de un conjunto de datos |
create_dataset_metric | Crear una nueva métrica con expresión SQL |
update_dataset_metric | Actualizar propiedades de una métrica existente |
delete_dataset_metric | Eliminar una métrica |
Operaciones con columnas calculadas
| Herramienta | Descripción |
|---|---|
get_dataset_columns | Obtener información de columnas (incluidas las columnas calculadas) |
create_calculated_column | Crear una nueva columna calculada con expresión SQL |
update_calculated_column | Actualizar una columna calculada existente |
delete_calculated_column | Eliminar una columna calculada |
Operaciones con gráficos
| Herramienta | Descripción |
|---|---|
list_charts | Obtener lista paginada de todos los gráficos con filtrado y ordenación |
create_chart | Crear 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_params | Obtener el formato de parámetros requerido para los tipos de visualización de gráficos |
get_current_chart_config | Obtener los detalles de configuración actuales del gráfico (parámetros de visualización, relaciones, propiedad, contexto de consulta) |
update_chart | Actualizar propiedades del gráfico, incluidos metadatos, fuente de datos y parámetros de visualización |
get_chart_filters | Obtener los filtros de datos actuales aplicados a un gráfico |
set_chart_filters | Establecer filtros de datos para un gráfico (actualiza el gráfico de forma permanente) |
Operaciones con paneles
| Herramienta | Descripción |
|---|---|
list_dashboards | Obtener lista paginada de todos los paneles con filtrado y ordenación |
get_dashboard_charts | Obtener todos los gráficos de un panel específico con su información |
get_dashboard_filters | Obtener la configuración de filtros del panel (filtros nativos, filtros globales) |
get_dashboard_chart_query_context | Obtener 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_config | Obtener detalles del panel y configuración integrada |
update_dashboard_config | Actualizar propiedades del panel y/o configuración integrada |
add_chart_to_dashboard | Añadir un gráfico existente a un panel y colocarlo en el diseño |
remove_chart_from_dashboard | Eliminar un gráfico de un panel y limpiar su diseño |
Operaciones SQL
| Herramienta | Descripción |
|---|---|
execute_sql | Ejecutar consultas SQL con limitación de resultados y visualización de datos |
Operaciones con bases de datos
| Herramienta | Descripción |
|---|---|
list_databases | Obtener 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 datossuperset://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."