使用说明
项目简介
Kusto MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,旨在为大型语言模型 (LLM) 应用提供与 Azure Kusto 数据库交互的能力。它允许用户通过自然语言查询 Kusto 数据库,并将查询结果作为资源提供给 LLM 客户端。
主要功能点
- Kusto 数据访问: 连接并查询 Azure Kusto 数据库,支持执行 Kusto 查询语言 (KQL)。
- 自然语言查询: 利用 Azure OpenAI 服务将自然语言转换为 KQL 查询,降低用户使用门槛。
- 资源管理: 将查询结果、CSV 文件等作为资源进行管理,并通过 MCP 协议提供给客户端。
- 工具注册与执行: 注册并提供 'list-supported-tables', 'generate-kusto-query', 'execute-kusto-query' 等工具,供 LLM 客户端调用。
- 可配置性: 通过 'settings.yaml' 文件灵活配置 Azure OpenAI 和 Kusto 数据库连接信息以及 Prompt 模板。
安装步骤
- 环境准备: 确保已安装 .NET SDK。
- 下载代码: 克隆 GitHub 仓库 kusto-mcp 到本地。
- 构建项目: 在仓库根目录下,打开命令行工具,执行 'dotnet build' 命令编译项目。
服务器配置
MCP 客户端需要配置以下 JSON 信息以连接到 Kusto MCP Server:
{ "serverName": "kusto-mcp-server", "command": "dotnet", "args": [ "path/to/kusto-mcp/src/Server/bin/Debug/net8.0/Server.dll", "--settings", "path/to/kusto-mcp/settings.yaml" ] }
参数说明:
- 'serverName': 服务器名称,可自定义。
- 'command': 启动服务器的命令,这里使用 'dotnet' 运行 .NET 程序。
- 'args': 启动参数,包括:
- 'path/to/kusto-mcp/src/Server/bin/Debug/net8.0/Server.dll': 请替换为实际的服务器可执行文件路径。 这是编译后生成的服务器程序。
- '--settings path/to/kusto-mcp/settings.yaml': 请替换为实际的 'settings.yaml' 文件路径。 指定配置文件路径,用于配置 Azure OpenAI 和 Kusto 连接信息。
'settings.yaml' 配置文件示例 (需要根据实际情况修改):
model: endpoint: <Azure OpenAI Endpoint> # 替换为你的 Azure OpenAI 终结点 URL deployment: <Deployment Name> # 替换为你的 Azure OpenAI 部署名称 kusto: - name: mytable # 表格名称,用于工具调用时引用 category: mycategory # 表格分类,用于工具调用时引用 database: mydatabase # Kusto 数据库名称 table: table # Kusto 表名称 endpoint: https://<your_cluster>.kusto.windows.net # 替换为你的 Kusto 终结点 URL prompts: # Prompt 模板,用于自然语言转 KQL - type: system content: | The table contains the following columns: * Id: id of the resource * Name: name of the resource * CreationTime: timestamp when the resource was created * LastModified: timestamp when the resource was last modified * Owner: owner of the resource - type: user content: When was the resource 'my resource' created in mycategory/mytable? - type: assistant content: | table | where name == 'my resource' | project CreationTime # ... 更多 Prompt 示例 ...
基本使用方法
- 启动服务器: MCP 客户端根据上述配置启动 Kusto MCP Server。
- 客户端交互: 通过 MCP 客户端向服务器发送请求,例如:
- 调用 'list-supported-tables' 工具获取支持的 Kusto 表列表。
- 调用 'generate-kusto-query' 工具,输入自然语言描述,生成 KQL 查询语句。
- 调用 'execute-kusto-query' 工具,执行 KQL 查询并获取结果 (JSON 或 CSV 格式)。
- 使用 MCP 客户端的资源管理功能,订阅、读取服务器提供的查询结果资源。
注意: 首次运行可能需要进行 Azure 身份验证 ('az login' 或确保已登录 VSCode/VS)。
信息
分类
数据库与文件