kusto-mcp
Integrate OpenTelemetry for observability, enabling monitoring of query performance and system health.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kusto-mcpShow me error logs from the last hour"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🔍 Kusto MCP Server
Turn your AI assistant into a data analyst in 2 minutes.
Connect Cline, Cursor, Claude Desktop, or any AI tool to Azure Data Explorer. Ask questions in plain English, get insights from your data instantly - no KQL knowledge required.
What You Can Do
"Show me error logs from the last hour" → Get instant insights from telemetry data
"Which customers generated the most revenue this month?" → Analyze business metrics effortlessly
"Find all failed authentication attempts" → Investigate security incidents with AI help
"Summarize system performance trends" → Get automated analysis of monitoring data
No more writing complex KQL queries. Just ask your AI assistant natural questions about your data.
Related MCP server: Power BI MCP Server
Quick Setup
For Claude Code Users
Run this terminal command to install:
claude mcp add kusto-mcp -- npx -y kusto-mcp@latestFor Cline Users
Add this to your cline_mcp_settings.json file:
{
"mcpServers": {
"github.com/johnib/kusto-mcp": {
"command": "npx",
"args": ["-y", "kusto-mcp@latest"],
"env": {},
"disabled": false,
"autoApprove": [
"initialize-connection",
"show-tables",
"show-table",
"execute-query"
]
}
}
}For Cursor Users
Add this to your VS Code settings.json:
{
"mcp": {
"servers": {
"github.com/johnib/kusto-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "kusto-mcp"]
}
}
}
}For Claude Desktop Users
Add this to your Claude Desktop configuration file:
{
"mcpServers": {
"kusto-mcp": {
"command": "npx",
"args": ["-y", "kusto-mcp"]
}
}
}Authentication Setup
Install Azure CLI (if you haven't already):
# Windows winget install Microsoft.AzureCLI # macOS brew install azure-cli # Linux curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bashLogin to Azure:
az loginThat's it! Your AI assistant can now connect to your Azure Data Explorer clusters.
Test It Works
Ask your AI assistant:
"Connect to my Azure Data Explorer cluster at
https://your-cluster.kusto.windows.netand show me the available tables"
You should see your AI successfully connect and list your database tables.
Supported AI Tools
✅ Claude Code - One-command setup with native MCP support
✅ Cline - Full support with auto-approval
✅ Cursor - Complete integration
✅ Claude Desktop - Native MCP support
✅ VS Code with MCP - Built-in compatibility
✅ Any MCP-compatible tool - Universal support
Common Issues
🔒 Permission denied?
Run
az loginand make sure you have access to the Azure Data Explorer clusterVerify you're logged into the correct Azure tenant
🔌 Can't connect to cluster?
Double-check the cluster URL format:
https://your-cluster.kusto.windows.netEnsure the cluster is accessible from your network
❓ AI doesn't see the tools?
Restart your AI assistant after adding the configuration
Check that the JSON configuration is valid (use a JSON validator)
Still stuck? → Open an issue or check our troubleshooting guide.
What's Under the Hood
This MCP server provides your AI assistant with tools to:
Initialize connections to Azure Data Explorer clusters
Browse database tables and schemas
Execute KQL queries with intelligent result limiting
Handle authentication securely through Azure CLI
Results are automatically formatted and sized appropriately for AI context windows, so your assistant gets the data it needs without being overwhelmed.
Telemetry & Privacy
kusto-mcp reports anonymous usage telemetry to the maintainer's Honeycomb instance to understand how the tool is used and to diagnose failures. Telemetry is always on — using kusto-mcp means reporting anonymous usage. There is no personal or organizational data in it, and no query text or results (details below).
What is collected (traces, metrics, and operational logs via OpenTelemetry):
Usage: which tools are called, latency, query/command length (not text), result row counts, response sizes, outcomes, and your config/feature-flag settings.
Reliability: call/error counts, connection attempts/failures, and error class names (e.g.
KustoQueryError) — never error messages.Cohort counters: salted hashes of your Azure tenant id (
company_hash) and object id (user_hash), so the maintainer can count distinct organizations and users — no raw tenant, company name, email domain, email, UPN, or user id is ever sent. Plusprincipal_type(user vs service principal) andaccount_type(personal vs enterprise); the shared personal-account tenant sends nocompany_hash.Environment: kusto-mcp version, OS/architecture, Node.js version, MCP client name, and a random per-install identifier (
machine.id).
What is NEVER collected: no company name or email domain; no raw Azure tenant id or user id; no full email, UPN, or name; no cluster, database, table, or function names; no query text, results, error messages, credentials, or tokens.
Routing to your own collector: enterprises that run their own OpenTelemetry pipeline can redirect the data with standard env vars — OTEL_EXPORTER_OTLP_ENDPOINT (your OTLP HTTP base URL) and OTEL_EXPORTER_OTLP_HEADERS (key=value,key2=value2).
Advanced Configuration
Need custom settings? Check out our Configuration Guide for:
Response format options (JSON vs Markdown)
Query timeout settings
Result size limiting
OpenTelemetry integration
For Developers
Building, testing, or contributing? See our Developer Documentation for:
Building from source
Running tests
Project structure
Contributing guidelines
License
💡 Pro tip: Start by asking your AI to "show me the tables in my database" to explore what data you have available, then ask natural language questions about specific tables.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/johnib/kusto-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server