Kusto MCP Server 使用说明
项目简介
Kusto MCP Server 是一个实现了 Model Context Protocol (MCP) 的后端服务器,它允许LLM客户端通过标准化的方式与 Azure Data Explorer (Kusto) 数据库进行交互。该服务器提供了一系列工具,使得LLM应用能够方便地查询数据库信息、获取表结构以及执行Kusto查询语言 (KQL) 查询。
主要功能点
- 数据库列表查询 (list_databases): 允许LLM客户端获取指定 Azure Data Explorer 集群中所有数据库的列表。
- 表列表查询 (list_tables): 允许LLM客户端获取指定 Azure Data Explorer 数据库中所有表的列表。
- 表结构查询 (get_table_schema): 允许LLM客户端获取指定 Azure Data Explorer 数据库中特定表的结构信息(Schema)。
- KQL查询执行 (execute_query): 允许LLM客户端执行只读的 Kusto 查询语言 (KQL) 查询,并返回查询结果。
安装步骤
-
克隆仓库: 打开终端,执行以下命令克隆 Kusto MCP Server 仓库到本地:
git clone https://github.com/abhirockzz/mcp_kusto cd mcp_kusto -
编译服务器程序: 确保已安装 Go 语言环境,然后在仓库目录下执行编译命令:
go build -o mcp_kusto main.go编译成功后,会在当前目录下生成可执行文件 'mcp_kusto'。
服务器配置
MCP 服务器是为 MCP 客户端(例如 VS Code、Claude Desktop 等)提供服务的。您需要在 MCP 客户端中配置服务器连接信息。以下是针对 VS Code 的 'mcp.json' 配置文件示例,用于配置 Kusto MCP Server:
-
创建 '.vscode' 目录 (如果不存在): 在项目根目录下创建 '.vscode' 目录:
mkdir -p .vscode -
创建 'mcp.json' 配置文件: 在 '.vscode' 目录下创建名为 'mcp.json' 的文件,并将以下内容复制到文件中:
{ "servers": { "Kusto MCP Server": { "type": "stdio", "command": "$(pwd)/mcp_kusto" } } }- '"servers"': 定义可用的 MCP 服务器列表。
- '"Kusto MCP Server"': 为该服务器配置项命名,可以自定义名称,将在 MCP 客户端中显示。
- '"type": "stdio"': 指定 MCP 服务器使用标准输入输出 (stdio) 协议与客户端通信。
- '"command": "$(pwd)/mcp_kusto"': 关键配置,指定启动 MCP 服务器的命令。
- '$(pwd)': 表示当前工作目录,即 'mcp.json' 文件所在的目录(项目根目录)。
- '/mcp_kusto': 表示编译后生成的可执行文件 'mcp_kusto' 的路径。
- 组合起来 '$(pwd)/mcp_kusto' 即为 Kusto MCP Server 可执行文件的完整路径。
- 注意: 请确保终端当前工作目录为项目根目录,或者根据实际情况修改 'command' 路径,指向 'mcp_kusto' 可执行文件。
基本使用方法
-
启动 MCP 客户端: 打开配置了 MCP 服务器的客户端工具,例如 VS Code 或 Claude Desktop。
-
配置 Azure Data Explorer 认证: Kusto MCP Server 使用 'DefaultAzureCredential' 进行身份验证,它会尝试从以下位置获取认证信息:
- 环境变量: 查找应用程序服务主体相关的环境变量。
- 本地开发者工具: 例如 Azure CLI,如果已通过 'az login' 登录 Azure 账号,则会使用本地的开发者凭据。 推荐使用 Azure CLI 登录方式,只需在终端执行 'az login' 命令并完成认证即可。确保您使用的 Azure 账号或服务主体具有访问 Azure Data Explorer 集群和数据库的权限(例如,'.show databases', '.show table', '.show tables', 以及执行查询的权限)。
-
在 MCP 客户端中使用工具: 在 MCP 客户端中,您应该能够看到已配置的 "Kusto MCP Server"。客户端会根据 MCP 协议与服务器通信,并允许您使用服务器提供的工具,例如:
- 在聊天界面中,您可以指示 LLM 客户端使用 'list_databases' 工具查询数据库列表。
- 使用 'execute_query' 工具执行 KQL 查询语句。
- ... 等等。
具体的工具调用方式和界面操作取决于您使用的 MCP 客户端工具。请参考相应客户端工具的文档了解如何使用 MCP 服务器。
通过以上步骤,您就可以成功搭建并使用 Kusto MCP Server,让您的 LLM 应用能够便捷地与 Azure Data Explorer 数据库进行交互,实现数据分析和探索等功能。
信息
分类
数据库与文件