Servidor MCP de Azure Data Explorer
Un servidor de Protocolo de contexto de modelo (MCP) para Azure Data Explorer/Eventhouse en Microsoft Fabric.
Esto proporciona acceso a sus clústeres y bases de datos de Azure Data Explorer/Eventhouse a través de interfaces MCP estandarizadas, lo que permite que los asistentes de IA ejecuten consultas KQL y exploren sus datos.
Características
- [x] Ejecutar consultas KQL en Azure Data Explorer
- [x] Descubra y explore recursos de bases de datos
- [x] Listar tablas en la base de datos configurada
- [x] Ver esquemas de tablas
- [x] Datos de muestra de tablas
- [x] Obtener estadísticas/detalles de la tabla
- [x] Soporte de autenticación
- [x] Compatibilidad con credenciales de token (Azure CLI, MSI, etc.)
- [x] Compatibilidad de credenciales de identidad de carga de trabajo para AKS
- [x] Compatibilidad con contenedores Docker
- [x] Proporcionar herramientas interactivas para asistentes de IA
La lista de herramientas es configurable, por lo que puede elegir qué herramientas quiere que estén disponibles para el cliente MCP. Esto resulta útil si no utiliza ciertas funciones o si no desea ocupar demasiado espacio en la ventana de contexto.
Uso
- Inicie sesión en su cuenta de Azure que tenga permiso para el clúster ADX mediante la CLI de Azure.
- Configure las variables de entorno para su clúster ADX, ya sea a través de un archivo
.env
o variables de entorno del sistema:
Compatibilidad con identidades de carga de trabajo de Azure
El servidor ahora usa WorkloadIdentityCredential de forma predeterminada al ejecutarse en entornos de Azure Kubernetes Service (AKS) con la identidad de la carga de trabajo configurada. Prioriza el uso de WorkloadIdentityCredential siempre que estén presentes las variables de entorno necesarias.
Para AKS con Azure Workload Identity, solo necesita:
- Asegúrese de que el pod tenga configuradas las variables de entorno
AZURE_TENANT_ID
yAZURE_CLIENT_ID
- Asegúrese de que el archivo de token esté montado en la ruta predeterminada o especifique una ruta personalizada con
ADX_TOKEN_FILE_PATH
Si estas variables de entorno no están presentes, el servidor recurrirá automáticamente a DefaultAzureCredential, que prueba varios métodos de autenticación en secuencia.
- Agregue la configuración del servidor al archivo de configuración del cliente. Por ejemplo, para Claude Desktop:
Nota: si ve
Error: spawn uv ENOENT
en Claude Desktop, es posible que deba especificar la ruta completa auv
o establecer la variable de entornoNO_UV=1
en la configuración.
Uso de Docker
Este proyecto incluye soporte para Docker para una fácil implementación y aislamiento.
Construyendo la imagen de Docker
Construya la imagen de Docker usando:
Ejecutando con Docker
Puedes ejecutar el servidor usando Docker de varias maneras:
Usando docker run directamente:
Usando docker-compose:
Cree un archivo .env
con sus credenciales de Azure Data Explorer y luego ejecute:
Ejecutar con Docker en Claude Desktop
Para utilizar el servidor en contenedores con Claude Desktop, actualice la configuración para usar Docker con las variables de entorno:
Esta configuración pasa las variables de entorno de Claude Desktop al contenedor Docker utilizando el indicador -e
con solo el nombre de la variable y proporcionando los valores reales en el objeto env
.
Uso como contenedor de desarrollo / GitHub Codespace
Este repositorio también puede utilizarse como contenedor de desarrollo para una experiencia de desarrollo fluida. La configuración del contenedor de desarrollo se encuentra en la carpeta devcontainer-feature/adx-mcp-server
.
Para obtener más detalles, consulte el archivo README de devcontainer .
Desarrollo
¡Agradecemos sus contribuciones! Abra un problema o envíe una solicitud de incorporación de cambios si tiene alguna sugerencia o mejora.
Este proyecto utiliza uv
para gestionar las dependencias. Instale uv
siguiendo las instrucciones para su plataforma:
Luego puede crear un entorno virtual e instalar las dependencias con:
Estructura del proyecto
El proyecto se ha organizado con una estructura de directorio src
:
Pruebas
El proyecto incluye un conjunto de pruebas integral que garantiza la funcionalidad y ayuda a prevenir regresiones.
Ejecute las pruebas con pytest:
Las pruebas se organizan en:
- Pruebas de validación de configuración
- Pruebas de funcionalidad del servidor
- Pruebas de manejo de errores
- Pruebas de aplicación principales
Al agregar nuevas funciones, agregue también las pruebas correspondientes.
Herramientas
Herramienta | Categoría | Descripción |
---|---|---|
execute_query | Consulta | Ejecutar una consulta KQL en Azure Data Explorer |
list_tables | Descubrimiento | Listar todas las tablas en la base de datos configurada |
get_table_schema | Descubrimiento | Obtener el esquema para una tabla específica |
sample_table_data | Descubrimiento | Obtener datos de muestra de una tabla con tamaño de muestra opcional |
Licencia
Instituto Tecnológico de Massachusetts (MIT)
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Asistentes de IA para consultar y analizar bases de datos de Azure Data Explorer a través de interfaces estandarizadas.
- Características
- Uso
- Uso de Docker
- Uso como contenedor de desarrollo / GitHub Codespace
- Desarrollo
- Estructura del proyecto
- Licencia
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAllows AI assistants to list tables, read data, and execute SQL queries through a controlled interface, making database exploration and analysis safer and more structured.Last updated -1580PythonMIT License
- -securityFlicense-qualityEnables AI assistants to interact with Metabase databases and dashboards, allowing users to list and execute queries, access data visualizations, and interact with database resources through natural language.Last updated -25JavaScript
- -securityAlicense-qualityAn easy-to-use bridge that lets AI assistants like Claude and Cursor IDE directly query and explore Microsoft SQL Server databases. No coding experience required!Last updated -27JavaScriptGPL 3.0
- -securityFlicense-qualityEnables AI assistants to interact with Metabase, providing access to dashboards, questions, databases, and tools for executing queries and viewing data through natural language.Last updated -JavaScript