使用说明

项目简介

adx-mcp-server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为AI助手提供访问和操作 Azure Data Explorer (ADX) 数据库的能力。通过此服务器,AI助手可以执行KQL查询、浏览数据库资源,从而更好地理解和利用ADX中的数据。

主要功能点

  • 执行 KQL 查询: 允许 AI 助手向 Azure Data Explorer 数据库发送和执行 KQL 查询,并获取查询结果。
  • 数据库资源发现: 提供工具让 AI 助手能够浏览 ADX 数据库中的表,包括列出表名、查看表结构 (schema) 和获取示例数据。
  • 可配置工具: 管理员可以配置暴露给 AI 助手的工具列表,从而控制 AI 助手可以执行的操作范围。
  • 身份验证支持: 支持通过环境变量配置 Azure 身份验证,保障数据访问安全。

安装步骤

  1. 安装 'uv': 根据仓库 'README.md' 提供的指引,安装 'uv' 包管理器。'uv' 用于管理 Python 依赖。

    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 创建虚拟环境并安装依赖: 使用 'uv' 创建虚拟环境,并安装项目依赖。

    uv venv
    source .venv/bin/activate  # Unix/macOS
    .venv\Scripts\activate     # Windows
    uv pip install -e .

服务器配置

为了让 MCP 客户端(如 Claude Desktop)连接到 adx-mcp-server,您需要在客户端的配置文件中添加服务器配置。以下是一个示例 JSON 配置,您需要根据您的实际环境进行修改:

{
  "mcpServers": {
    "adx": {  // 服务器名称,可以自定义
      "command": "uv",  // 启动服务器的命令,这里使用 uv
      "args": [
        "--directory",  // 指定工作目录
        "<adx-mcp-server 仓库的完整路径>", // 请替换为 adx-mcp-server 仓库在您本地文件系统中的完整路径
        "run",        // uv run 命令
        "src/adx-mcp-server/main.py" // 服务器主程序路径
      ],
      "env": { // 环境变量配置
        "ADX_CLUSTER_URL": "https://yourcluster.region.kusto.windows.net", // 您的 Azure Data Explorer 集群 URL,请替换为实际值
        "ADX_DATABASE": "your_database", // 您的 Azure Data Explorer 数据库名称,请替换为实际值
        "AZURE_TENANT_ID": "your_tenant_id", // (可选) Azure 租户 ID,如果使用客户端凭据认证,请配置
        "AZURE_CLIENT_ID": "your_client_id",   // (可选) Azure 客户端 ID,如果使用客户端凭据认证,请配置
        "AZURE_CLIENT_SECRET": "your_client_secret" // (可选) Azure 客户端密钥,如果使用客户端凭据认证,请配置
      }
    }
  }
}

基本使用方法

  1. 配置环境变量: 根据 '服务器配置' 中的 'env' 字段,您需要设置相应的环境变量。您可以选择直接在系统环境中设置,或者在仓库根目录下创建 '.env' 文件并写入这些变量。 '.env' 文件示例如下:

    ADX_CLUSTER_URL=https://yourcluster.region.kusto.windows.net
    ADX_DATABASE=your_database
    AZURE_TENANT_ID=your_tenant_id
    AZURE_CLIENT_ID=your_client_id
    AZURE_CLIENT_SECRET=your_client_secret
  2. 启动服务器: MCP 客户端会根据您在配置文件中提供的 'command' 和 'args' 启动 adx-mcp-server。通常情况下,客户端会在需要时自动启动服务器。

  3. 在 MCP 客户端中使用工具: 一旦服务器成功配置并启动,您就可以在 MCP 客户端中调用服务器提供的工具,例如 'execute_query' (执行查询), 'list_tables' (列出表), 'get_table_schema' (获取表结构), 'sample_table_data' (获取示例数据) 等,来与 Azure Data Explorer 数据库进行交互。 具体工具的使用方式请参考 MCP 客户端的文档。

注意: 确保您配置的 Azure 服务主体或账户对指定的 Azure Data Explorer 集群和数据库具有足够的访问权限。

信息

分类

数据库与文件