Skip to main content
Glama
cheng306

Azure Data Explorer MCP Server

by cheng306
README.md
# Azure Data Explorer MCP Server

This is a Model Context Protocol (MCP) server that can login to Azure Data Explorer and run KQL queries.

## Features

- Login to Azure Data Explorer using service principal (client credentials)
- Run KQL queries against an Azure Data Explorer database
- View formatted query results

## Prerequisites

- Node.js (v16 or higher)
- npm (v7 or higher)
- Azure Data Explorer cluster
- Service Principal with access to Azure Data Explorer

## Setup

1. Clone or download this repository
2. Install dependencies:

```bash
npm install
```

3. Build the project:

```bash
npm run build
```

## Running the server

Start the server:

```bash
npm start
```

The server will listen on standard input/output (stdio), which is the format expected by MCP clients like Claude for Desktop.

## Usage with Claude for Desktop

1. Configure Claude for Desktop to use this MCP server by editing the `claude_desktop_config.json` file:

```json
{
  "mcpServers": {
    "adx-query-server": {
      "command": "node",
      "args": [
        "/absolute/path/to/this/repository/build/index.js"
      ]
    }
  }
}
```

2. Restart Claude for Desktop

3. Use the MCP server through Claude by asking it to:
   - Login to Azure Data Explorer
   - Run KQL queries

## Available Tools

### login-to-adx

Authenticates with Azure Data Explorer using client credentials.

Parameters:
- `cluster`: The ADX cluster URL (e.g., https://mycluster.eastus.kusto.windows.net)
- `database`: The database name
- `tenantId`: The Azure tenant ID
- `clientId`: The Azure client/application ID
- `clientSecret`: The Azure client secret

### run-adx-query

Runs a KQL query against the connected Azure Data Explorer database.

Parameters:
- `query`: The KQL query to execute

## Development

To run the server in development mode:

```bash
npm run dev
```

## License

ISC