项目简介
这是一个基于 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客户端。
安装步骤
- 确保您的系统已安装 Python 3.9 或更高版本,并已安装并配置 Azure CLI ('az') 且已通过 'az login' 命令成功登录 Azure 账户。
- 安装 'uv' 工具(推荐使用,因为它比 pip 快):
pip install uv - 克隆本项目的代码仓库到您的本地。
- 进入克隆下来的项目目录。
- 使用 '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再将结果以易于理解的方式呈现给您。
信息
分类
数据库与文件