返回 MCP 目录
public公开dns本地运行

adx-mcp-server

Azure Data Explorer的MCP服务器,提供标准化接口执行KQL查询和探索数据

article

README

🚀 Azure 数据探索者 MCP 服务器

这是一个支持 Model Context Protocol(MCP)协议的 Azure 数据探索者(Azure Data Explorer)服务器。它提供了对 Azure 数据探索者集群和数据库的标准 MCP 接口访问,让 AI 助手能够执行 KQL 查询并探索数据。

🚀 快速开始

前提条件

  • 使用 Azure CLI 登录到拥有 ADX 集群权限的 Azure 账户。
  • 通过 .env 文件或系统环境变量配置环境变量,以指定您的 ADX 集群:
# 必填:Azure 数据探索者配置
ADX_CLUSTER_URL=https://yourcluster.region.kusto.windows.net
ADX_DATABASE=your_database

配置客户端

将服务器配置添加到客户端配置文件中。例如,对于 Claude 桌面版:

{
  "mcpServers": {
    "adx": {
      "command": "uv",
      "args": [
        "--directory",
        "<您的 adx-mcp-server 目录完整路径>",
        "run"
      ],
      "environment": {
        "ADX_CLUSTER_URL": "https://yourcluster.region.kusto.windows.net",
        "ADX_DATABASE": "your_database"
      }
    }
  }
}

✨ 主要特性

  • [x] 执行针对 Azure 数据探索者的 KQL 查询
  • [x] 发现和探索数据库资源
    • [x] 列出配置的数据库中的表
    • [x] 查看表架构
    • [x] 获取表样例数据(可选指定样本数量)
  • [x] 支持身份验证
    • [x] 令牌凭证支持(Azure CLI、MSI 等)
  • [x] Docker 容器化支持
  • [x] 提供交互式工具以供 AI 助手使用

工具列表是可配置的,因此您可以选择要对 MCP 客户端开放哪些工具。这对于您不使用某些功能或不想占用过多上下文窗口的情况非常有用。

📦 安装指南

Docker 支持

通过以下命令构建和运行容器:

# 建构 Docker 镜像
docker build -t adx-mcp-server .

# 运行容器
docker run --name adx-mcp-server -p 8000:8000 adx-mcp-server

在 Claude 桌面版中配置服务器 URL 如下:

{
  "mcpServers": {
    "adx": {
      "url": "http://localhost:8000"
    }
  }
}

💻 使用示例

基础用法

按照上述快速开始的步骤完成配置后,AI 助手即可通过 MCP 接口对 Azure 数据探索者执行 KQL 查询等操作。

📚 详细文档

工具列表

| 工具 | 类别 | 描述 | | --- | --- | --- | | execute_query | 查询 | 执行针对 Azure 数据探索者的 KQL 查询 | | list_tables | 发现 | 列出配置数据库中的所有表 | | get_table_schema | 发现 | 获取特定表的架构信息 | | sample_table_data | 发现 | 获取表的样例数据(可选指定样本数量) |

项目结构

.
├── src/
│   ├── server.py          # MCP 服务器实现
│   └── main.py           # 主应用逻辑
├── Dockerfile            # Docker 配置文件
├── docker-compose.yml    # Docker Compose 配置
├── .dockerignore         # Docker 忽略文件
├── pyproject.toml        # 项目配置文件
└── README.md             # 本文件

测试

项目包含全面的测试套件,以确保功能并防止回归。 运行测试:

# 安装开发依赖项
uv pip install -e ".[dev]"

# 运行测试
pytest

# 生成覆盖率报告
pytest --cov=src --cov-report=term-missing

📄 许可证

本项目采用 MIT 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端