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) 查询,并返回查询结果。

安装步骤

  1. 克隆仓库: 打开终端,执行以下命令克隆 Kusto MCP Server 仓库到本地:

    git clone https://github.com/abhirockzz/mcp_kusto
    cd mcp_kusto
  2. 编译服务器程序: 确保已安装 Go 语言环境,然后在仓库目录下执行编译命令:

    go build -o mcp_kusto main.go

    编译成功后,会在当前目录下生成可执行文件 'mcp_kusto'。

服务器配置

MCP 服务器是为 MCP 客户端(例如 VS Code、Claude Desktop 等)提供服务的。您需要在 MCP 客户端中配置服务器连接信息。以下是针对 VS Code 的 'mcp.json' 配置文件示例,用于配置 Kusto MCP Server:

  1. 创建 '.vscode' 目录 (如果不存在): 在项目根目录下创建 '.vscode' 目录:

    mkdir -p .vscode
  2. 创建 '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' 可执行文件。

基本使用方法

  1. 启动 MCP 客户端: 打开配置了 MCP 服务器的客户端工具,例如 VS Code 或 Claude Desktop。

  2. 配置 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', 以及执行查询的权限)。
  3. 在 MCP 客户端中使用工具: 在 MCP 客户端中,您应该能够看到已配置的 "Kusto MCP Server"。客户端会根据 MCP 协议与服务器通信,并允许您使用服务器提供的工具,例如:

    • 在聊天界面中,您可以指示 LLM 客户端使用 'list_databases' 工具查询数据库列表。
    • 使用 'execute_query' 工具执行 KQL 查询语句。
    • ... 等等。

    具体的工具调用方式和界面操作取决于您使用的 MCP 客户端工具。请参考相应客户端工具的文档了解如何使用 MCP 服务器。

通过以上步骤,您就可以成功搭建并使用 Kusto MCP Server,让您的 LLM 应用能够便捷地与 Azure Data Explorer 数据库进行交互,实现数据分析和探索等功能。

信息

分类

数据库与文件