Loading...

This MCP server enables AI assistants to execute KQL queries and explore Azure Data Explorer databases, providing access to data insights.
Boost this tool
Subscribe to listing upgrades or segmented pushes.
This MCP server enables AI assistants to execute KQL queries and explore Azure Data Explorer databases, providing access to data insights.
This server provides a moderate level of safety due to its reliance on Azure's authentication mechanisms and configurable tool access. However, the ability to execute arbitrary KQL queries introduces a risk of data exfiltration or unauthorized access if the underlying ADX cluster is not properly secured. It is safe when used with appropriate ADX cluster permissions and monitoring, but risky if the cluster is misconfigured or compromised.
Performance depends on the complexity of the KQL queries and the size of the data being processed. Consider optimizing queries and using appropriate indexing to improve performance. The server itself is likely lightweight, but the ADX cluster may require scaling for heavy workloads.
Cost is primarily determined by the resources consumed by the ADX cluster during query execution. Complex queries and large data volumes will result in higher costs. Consider optimizing queries and using appropriate data retention policies to minimize costs.
{
"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"
}
}
}
}AZURE_TENANT_IDAZURE_CLIENT_IDexecute_queryExecutes a Kusto Query Language (KQL) query against the Azure Data Explorer database.
While read-only, poorly constructed queries could impact performance or expose sensitive data.
list_tablesLists all tables available in the configured Azure Data Explorer database.
Provides read-only access to table names, posing minimal risk.
get_table_schemaRetrieves the schema for a specified table in the Azure Data Explorer database.
Provides read-only access to table schema, posing minimal risk.
sample_table_dataFetches sample data from a specified table in the Azure Data Explorer database.
Provides read-only access to sample data, but large sample sizes could impact performance.
get_table_detailsRetrieves statistics and metadata for a specified table in the Azure Data Explorer database.
Provides read-only access to table metadata, posing minimal risk.
Environment Variable
hybrid
This server provides a moderate level of safety due to its reliance on Azure's authentication mechanisms and configurable tool access. However, the ability to execute arbitrary KQL queries introduces a risk of data exfiltration or unauthorized access if the underlying ADX cluster is not properly secured. It is safe when used with appropriate ADX cluster permissions and monitoring, but risky if the cluster is misconfigured or compromised.
The server's autonomy depends on the AI assistant's configuration and the permissions granted to the ADX cluster. Ensure appropriate safeguards are in place to prevent unintended data access or modification.
Production Tip
Implement robust input validation and output sanitization to prevent KQL injection attacks and ensure data integrity.
The server supports Azure CLI, Managed Identity, and Workload Identity through DefaultAzureCredential. You can also specify Azure Tenant ID and Client ID for Workload Identity.
Ensure the pod has AZURE_TENANT_ID and AZURE_CLIENT_ID environment variables set and that the token file is mounted at the default path or specify a custom path with ADX_TOKEN_FILE_PATH.
The server supports stdio (default), HTTP, and Server-Sent Events (SSE) transport modes. You can configure the transport mode using the ADX_MCP_SERVER_TRANSPORT environment variable.
Set the ADX_MCP_SERVER_TRANSPORT environment variable to http and configure the ADX_MCP_BIND_HOST and ADX_MCP_BIND_PORT environment variables as needed.
The list of tools is configurable. You can modify the server's code to remove or disable specific tools.
The required environment variables are ADX_CLUSTER_URL (Azure Data Explorer cluster URL) and ADX_DATABASE (database name to connect to).
Build the Docker image using `docker build -t adx-mcp-server .` and then run it using `docker run` or `docker-compose` with the necessary environment variables.