Kusto MCP Server
Un servidor MCP para Azure Data Explorer (Kusto) que permite a los asistentes de IA interactuar con bases de datos Kusto.
Documentación
🔍 Kusto MCP Server
Convierte tu asistente de IA en un analista de datos en 2 minutos.
Conecta Cline, Cursor, Claude Desktop o cualquier herramienta de IA a Azure Data Explorer. Haz preguntas en lenguaje natural y obtén información de tus datos al instante, sin necesidad de conocimientos de KQL.
Lo que puedes hacer
- "Muéstrame los registros de errores de la última hora" → Obtén información instantánea de los datos de telemetría
- "¿Qué clientes generaron más ingresos este mes?" → Analiza métricas de negocio sin esfuerzo
- "Encuentra todos los intentos de autenticación fallidos" → Investiga incidentes de seguridad con ayuda de la IA
- "Resume las tendencias de rendimiento del sistema" → Obtén análisis automatizados de los datos de monitoreo
No más escribir consultas KQL complejas. Solo haz preguntas naturales a tu asistente de IA sobre tus datos.
Configuración rápida
Para usuarios de Claude Code
Ejecuta este comando en la terminal para instalar:
claude mcp add kusto-mcp -- npx -y kusto-mcp@latest
Para usuarios de Cline
Añade esto a tu archivo cline_mcp_settings.json:
{
"mcpServers": {
"github.com/johnib/kusto-mcp": {
"command": "npx",
"args": ["-y", "kusto-mcp@latest"],
"env": {},
"disabled": false,
"autoApprove": [
"initialize-connection",
"show-tables",
"show-table",
"execute-query",
"report-issue"
]
}
}
}
Para usuarios de Cursor
Añade esto a tu settings.json de VS Code:
{
"mcp": {
"servers": {
"github.com/johnib/kusto-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "kusto-mcp"]
}
}
}
}
Para usuarios de Claude Desktop
Añade esto a tu archivo de configuración de Claude Desktop:
{
"mcpServers": {
"kusto-mcp": {
"command": "npx",
"args": ["-y", "kusto-mcp"]
}
}
}
Configuración de autenticación
-
Instala Azure CLI (si aún no lo has hecho):
# Windows winget install Microsoft.AzureCLI # macOS brew install azure-cli # Linux curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash -
Inicia sesión en Azure:
az login -
¡Eso es todo! Tu asistente de IA ya puede conectarse a tus clústeres de Azure Data Explorer.
Prueba que funciona
Pregunta a tu asistente de IA:
"Conéctate a mi clúster de Azure Data Explorer en
https://your-cluster.kusto.windows.nety muéstrame las tablas disponibles"
Deberías ver que tu IA se conecta correctamente y lista las tablas de tu base de datos.
Herramientas de IA compatibles
- ✅ Claude Code - Configuración en un solo comando con soporte nativo de MCP
- ✅ Cline - Soporte completo con aprobación automática
- ✅ Cursor - Integración completa
- ✅ Claude Desktop - Soporte nativo de MCP
- ✅ VS Code con MCP - Compatibilidad integrada
- ✅ Cualquier herramienta compatible con MCP - Soporte universal
Problemas comunes
🔒 ¿Permiso denegado?
- Ejecuta
az loginy asegúrate de tener acceso al clúster de Azure Data Explorer - Verifica que has iniciado sesión en el inquilino de Azure correcto
🔌 ¿No puedes conectarte al clúster?
- Revisa el formato de la URL del clúster:
https://your-cluster.kusto.windows.net - Asegúrate de que el clúster sea accesible desde tu red
❓ ¿La IA no ve las herramientas?
- Reinicia tu asistente de IA después de añadir la configuración
- Comprueba que la configuración JSON sea válida (usa un validador JSON)
¿Sigue atascado? → Abre un issue o consulta nuestra guía de solución de problemas.
Qué hay bajo el capó
Este servidor MCP proporciona a tu asistente de IA herramientas para:
- Inicializar conexiones a clústeres de Azure Data Explorer
- Explorar tablas y esquemas de bases de datos
- Ejecutar consultas KQL con limitación inteligente de resultados
- Gestionar la autenticación de forma segura mediante Azure CLI
- Reportar un error o solicitar una función en GitHub (
report-issue)
Los resultados se formatean y dimensionan automáticamente para las ventanas de contexto de la IA, para que tu asistente obtenga los datos que necesita sin verse abrumado.
Reportar un problema
¿Encontraste un error o quieres una función? Pide a tu asistente de IA que "reporte un issue de kusto-mcp sobre …" y llamará a la herramienta report-issue.
La herramienta devuelve un enlace de issue de GitHub pre-rellenado — ábrelo en un navegador donde hayas iniciado sesión en GitHub, revisa el título y el cuerpo, y haz clic en Submit new issue. Algunas cosas que vale la pena saber:
- No se necesita ni se almacena ningún token de GitHub. El servidor nunca envía nada en tu nombre; el issue se crea bajo tu propia cuenta de GitHub cuando envías el formulario. (Sí necesitas una cuenta de GitHub para enviarlo).
- Funciona incluso cuando la conexión está rota — no requiere una conexión Kusto activa, por lo que es la herramienta adecuada para reportar problemas de conexión.
- Por defecto, se añade un pequeño pie de página de entorno no sensible (versiones de kusto-mcp/Node/OS/MCP-client, si hay una conexión activa, formato de respuesta, modo de escritura) para ayudar al triaje. Pasa
includeDiagnostics: falsepara omitirlo. Nunca incluye la URL de tu clúster, base de datos, identidad, texto de consulta ni resultados.
Telemetría y privacidad
kusto-mcp reporta telemetría de uso anónima a la instancia de Honeycomb del mantenedor para entender cómo se usa la herramienta y diagnosticar fallos. La telemetría está siempre activada — usar kusto-mcp significa reportar uso anónimo. No contiene datos personales ni organizativos, ni texto de consultas ni resultados (detalles abajo).
Qué se recopila (trazas, métricas y registros operativos mediante OpenTelemetry):
- Uso: qué herramientas se llaman, latencia, longitud de consultas/comandos (no el texto), recuentos de filas de resultados, tamaños de respuesta, resultados y tu configuración/opciones de funciones.
- Fiabilidad: recuentos de llamadas/errores, intentos/fallos de conexión y nombres de clases de error (p. ej.
KustoQueryError) — nunca mensajes de error. - Contadores de cohorte: hashes con sal de tu tenant id de Azure (
company_hash) y object id (user_hash), para que el mantenedor pueda contar organizaciones y usuarios distintos — nunca se envía el tenant sin procesar, nombre de empresa, dominio de correo, correo electrónico, UPN ni id de usuario. Además,principal_type(usuario vs. entidad de servicio) yaccount_type(personal vs. empresarial); el tenant compartido de cuentas personales no envíacompany_hash. - Entorno: versión de kusto-mcp, SO/arquitectura, versión de Node.js, nombre del cliente MCP y un identificador aleatorio por instalación (
machine.id).
Lo que NUNCA se recopila: sin nombre de empresa ni dominio de correo; sin tenant id ni id de usuario de Azure sin procesar; sin correo electrónico completo, UPN ni nombre; sin nombres de clúster, base de datos, tabla o función; sin texto de consultas, resultados, mensajes de error, credenciales ni tokens.
Enrutamiento a tu propio recopilador: las empresas que ejecutan su propio pipeline de OpenTelemetry pueden redirigir los datos con variables de entorno estándar — OTEL_EXPORTER_OTLP_ENDPOINT (tu URL base OTLP HTTP) y OTEL_EXPORTER_OTLP_HEADERS (key=value,key2=value2).
Configuración avanzada
¿Necesitas opciones personalizadas? Consulta nuestra Guía de configuración para:
- Opciones de formato de respuesta (JSON vs. Markdown)
- Ajustes de tiempo de espera de consultas
- Limitación del tamaño de resultados
- Integración con OpenTelemetry
Para desarrolladores
¿Quieres compilar, probar o contribuir? Consulta nuestra Documentación para desarrolladores para:
- Compilar desde el código fuente
- Ejecutar pruebas
- Estructura del proyecto
- Directrices de contribución
Licencia
💡 Consejo profesional: Empieza pidiendo a tu IA que "muestre las tablas de mi base de datos" para explorar qué datos tienes disponibles y luego haz preguntas en lenguaje natural sobre tablas específicas.