Labsco
MCP SERVER

Azure Data Explorer

by pab1it0

Run KQL queries and explore table schemas in Azure Data Explorer or Fabric Eventhouse from the conversation.

Relational SQL Databases
Summary
Discovery tools first, so the agent writes KQL against a schema it has actually read.

Listing tables, reading a schema and sampling rows are the three calls that stop a model from inventing column names, and they are all here alongside the raw query tool. Access is whatever your Azure identity already has — there is no separate key to scope, so the cluster's own permissions on that identity are the boundary worth checking before you connect it.

What it is

A Python MCP server for Azure Data Explorer and Microsoft Fabric Eventhouse clusters. It signs in with your existing Azure identity and returns query results as structured JSON.

What you get
  • `execute_query` — any KQL query against the configured database
  • `list_tables` — every table in that database
  • `get_table_schema` — the columns and types of one table
  • `sample_table_data` — a preview of a table's rows, with a sample size you set
  • `get_table_details` — table statistics and metadata including row counts and storage size
  • A configurable tool list, so you can leave out the ones you never use and keep the context smaller
Requirements

`ADX_CLUSTER_URL` and `ADX_DATABASE` are required. Authentication uses DefaultAzureCredential, so signing in with the Azure CLI is enough on a workstation; on AKS it prefers workload identity when `AZURE_TENANT_ID` and `AZURE_CLIENT_ID` are present, with the token file at `ADX_TOKEN_FILE_PATH`. `ADX_MCP_SERVER_TRANSPORT` selects stdio, http or sse, bound by `ADX_MCP_BIND_HOST` and `ADX_MCP_BIND_PORT`.

Setup effort

One command plus a key — docker run --rm -i -e ADX_CLUSTER_URL -e ADX_DATABASE -e AZURE_TENANT_ID -e AZURE_CLIENT_ID -e ADX_TOKEN_FILE_PATH adx-mcp-server, then supply credentials