这是一个支持 Model Context Protocol(MCP)协议的 Azure 数据探索者(Azure Data Explorer)服务器。它提供了对 Azure 数据探索者集群和数据库的标准 MCP 接口访问,让 AI 助手能够执行 KQL 查询并探索数据。
.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"
}
}
}
}
工具列表是可配置的,因此您可以选择要对 MCP 客户端开放哪些工具。这对于您不使用某些功能或不想占用过多上下文窗口的情况非常有用。
通过以下命令构建和运行容器:
# 建构 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 许可证。