adx-mcp-server

by pab1it0
Verified

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.

Integrations

  • Used for loading environment variables from a .env file for configuration of the Azure Data Explorer connection details and authentication credentials.

  • Supports comprehensive testing of the MCP server functionality, including configuration validation, server operation, and error handling tests.

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 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

  1. Inicie sesión en su cuenta de Azure que tenga permiso para el clúster ADX mediante la CLI de Azure.
  2. 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:
# Required: Azure Data Explorer configuration ADX_CLUSTER_URL=https://yourcluster.region.kusto.windows.net ADX_DATABASE=your_database
  1. Agregue la configuración del servidor al archivo de configuración del cliente. Por ejemplo, para Claude Desktop:
{ "mcpServers": { "adx": { "command": "uv", "args": [ "--directory", "<full path to adx-mcp-server directory>", "run", "src/adx_mcp_server/main.py" ], "env": { "ADX_CLUSTER_URL": "https://yourcluster.region.kusto.windows.net", "ADX_DATABASE": "your_database" } } } }

Nota: si ve Error: spawn uv ENOENT en Claude Desktop, es posible que deba especificar la ruta completa a uv o establecer la variable de entorno NO_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:

docker build -t adx-mcp-server .

Ejecutando con Docker

Puedes ejecutar el servidor usando Docker de varias maneras:

Usando docker run directamente:

docker run -it --rm \ -e ADX_CLUSTER_URL=https://yourcluster.region.kusto.windows.net \ -e ADX_DATABASE=your_database \ adx-mcp-server

Usando docker-compose:

Cree un archivo .env con sus credenciales de Azure Data Explorer y luego ejecute:

docker-compose up

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:

{ "mcpServers": { "adx": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "ADX_CLUSTER_URL", "-e", "ADX_DATABASE", "adx-mcp-server" ], "env": { "ADX_CLUSTER_URL": "https://yourcluster.region.kusto.windows.net", "ADX_DATABASE": "your_database" } } } }

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:

curl -LsSf https://astral.sh/uv/install.sh | sh

Luego puede crear un entorno virtual e instalar las dependencias con:

uv venv source .venv/bin/activate # On Unix/macOS .venv\Scripts\activate # On Windows uv pip install -e .

Estructura del proyecto

El proyecto se ha organizado con una estructura de directorio src :

adx-mcp-server/ ├── src/ │ └── adx_mcp_server/ │ ├── __init__.py # Package initialization │ ├── server.py # MCP server implementation │ ├── main.py # Main application logic ├── Dockerfile # Docker configuration ├── docker-compose.yml # Docker Compose configuration ├── .dockerignore # Docker ignore file ├── pyproject.toml # Project configuration └── README.md # This file

Pruebas

El proyecto incluye un conjunto de pruebas integral que garantiza la funcionalidad y ayuda a prevenir regresiones.

Ejecute las pruebas con pytest:

# Install development dependencies uv pip install -e ".[dev]" # Run the tests pytest # Run with coverage report pytest --cov=src --cov-report=term-missing

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

HerramientaCategoríaDescripción
execute_queryConsultaEjecutar una consulta KQL en Azure Data Explorer
list_tablesDescubrimientoListar todas las tablas en la base de datos configurada
get_table_schemaDescubrimientoObtener el esquema para una tabla específica
sample_table_dataDescubrimientoObtener datos de muestra de una tabla con tamaño de muestra opcional

Licencia

Instituto Tecnológico de Massachusetts (MIT)


You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Asistentes de IA para consultar y analizar bases de datos de Azure Data Explorer a través de interfaces estandarizadas.

  1. Features
    1. Usage
      1. Docker Usage
        1. Building the Docker Image
        2. Running with Docker
        3. Running with Docker in Claude Desktop
      2. Using as a Dev Container / GitHub Codespace
        1. Development
          1. Project Structure
            1. Testing
            2. Tools
          2. License
            ID: 1yysyd147h