项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器,允许大型语言模型 (LLM) 客户端通过一个名为 'kql_execute' 的工具来执行针对 Microsoft Azure Data Explorer (Kusto) 的 KQL 查询。它处理Azure认证并返回查询结果给LLM。

主要功能点

  • 作为MCP服务器提供 KQL 查询执行能力。
  • 使用 Azure CLI 进行身份验证,连接到 Azure Data Explorer。
  • 执行用户提供的 KQL 查询语句。
  • 将查询结果通过MCP协议返回给LLM客户端。

安装步骤

  1. 确保您的系统已安装 Python 3.9 或更高版本,并已安装并配置 Azure CLI ('az') 且已通过 'az login' 命令成功登录 Azure 账户。
  2. 安装 'uv' 工具(推荐使用,因为它比 pip 快):
    pip install uv
  3. 克隆本项目的代码仓库到您的本地。
  4. 进入克隆下来的项目目录。
  5. 使用 'uv' 设置虚拟环境并安装所有必需的依赖:
    uvx venv
    source .venv/bin/activate  # 在 Windows 系统上请使用: .venv\Scripts\activate
    uvx pip install .

服务器配置 (供MCP客户端使用)

本MCP服务器需要被您的LLM客户端(如支持MCP协议的客户端)配置才能使用。您通常需要在客户端的配置文件中添加一个服务器条目,指定如何启动这个服务器。以下是配置所需的核心信息格式描述:

// 注意:这不是可以直接运行的代码,而是MCP客户端配置中需要填写的结构和信息描述
{
  "server name": "mcp-kql-server", // 这个MCP服务器的唯一名称
  "command": "python",           // 启动服务器的可执行程序,这里是python解释器
  "args": ["-m", "mcp_kql_server.mcp_server"] // 传递给python解释器的参数,指定运行项目的哪个模块
  // 根据您的MCP客户端和连接方式(如Stdio, WebSocket等),可能还需要配置其他参数
}

在启动服务器前,请务必确保您的Azure CLI已经成功通过 'az login' 命令完成了身份验证。

基本使用方法

一旦此MCP服务器在您的LLM客户端中被正确配置并连接,您就可以在与LLM交互时,通过自然语言或特定的指令请求LLM执行KQL查询。您需要向LLM提供完整的KQL查询语句,通常应包含 'cluster('<您的集群名称>').database('<您的数据库名称>').<您的查询内容>' 的格式,以便服务器能定位到正确的Azure Data Explorer实例和数据库。LLM客户端会调用内置的 'kql_execute' 工具,将您的查询发送到此MCP服务器进行处理。服务器执行查询并将结果返回给LLM,LLM再将结果以易于理解的方式呈现给您。

信息

分类

数据库与文件