MCP ExplorerExplorer

Mcp Kusto

@abhirockzzon a year ago
1 MIT
FreeCommunity
AI Systems
#azure#golang#kusto#large-language-models#model-context-protocol-servers#vscode
MCP server for Azure Data Explorer (Kusto)

Overview

What is Mcp Kusto

mcp_kusto is an MCP server designed for Azure Data Explorer (Kusto), built using the Azure Kusto Go SDK. It provides tools for seamless interaction with Azure Data Explorer, facilitating data analysis and exploration.

Use cases

Use cases for mcp_kusto include data exploration for business intelligence, querying large datasets for analytics, and managing database schemas in Azure Data Explorer environments.

How to use

To use mcp_kusto, clone the repository from GitHub, build the project using Go, and configure the MCP server according to your client/tool specifications. For instance, with VS Code, you can create a ‘mcp.json’ file in the ‘.vscode’ folder to define the server settings.

Key features

Key features of mcp_kusto include: 1) Listing all databases in a specific Azure Data Explorer cluster, 2) Listing all tables in a specific database, 3) Retrieving the schema of a specific table, and 4) Executing read-only KQL queries against a database.

Where to use

mcp_kusto is primarily used in data analysis and exploration fields, particularly where Azure Data Explorer is utilized for handling large datasets and performing complex queries.

Content

Vibe querying with MCP server for Azure Data Explorer (Kusto)

This is an implementation of an MCP server for Azure Data Explorer (Kusto) built using its Go SDK. You can use this with VS Code (or other MCP tools) for making data analysis and exploration easier.

It exposes tools for interacting with Azure Data Explorer:

  1. list_databases - Lists all databases in a specific Azure Data Explorer cluster.
  2. list_tables - Lists all tables in a specific Azure Data Explorer database.
  3. get_table_schema - Gets the schema of a specific table in an Azure Data Explorer database.
  4. execute_query - Executes a read-only KQL query against a database.

Word(s) of caution: As much as I want folks to benefit from this, I have to call out that Large Language Models (LLMs) are non-deterministic by nature and can make mistakes. I would recommend you to always validate the results and queries before making any decisions based on them.

Here is a sneak peek:

kusto mcp server in action

How to run

git clone https://github.com/abhirockzz/mcp_kusto
cd mcp_kusto

go build -o mcp_kusto main.go

Configure the MCP server

This will differ based on the MCP client/tool you use. For VS Code you can follow these instructions on how to configure this server using a mcp.json file.

Here is an example of the mcp.json file:

Here is an example of Claude Desktop configuration:

Authentication

  • The user principal you use should have permissions required for .show databases, .show table, .show tables, and execute queries on the database. Refer to the documentation for Azure Data Explorer for more details.

  • Authentication (Local credentials) - To keep things secure and simple, the MCP server uses DefaultAzureCredential. This approach looks in the environment variables for an application service principal or at locally installed developer tools, such as the Azure CLI, for a set of developer credentials. Either approach can be used to authenticate the MCP server to Azure Data Explorer. For example, just login locally using Azure CLI (az login).

You are good to go! Now spin up VS Code, Claude Desktop, or any other MCP tool and start vibe querying your Azure Data Explorer (Kusto) cluster!

Local dev/testing

Start with MCP inspector - npx @modelcontextprotocol/inspector ./mcp_kusto

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers