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 许可证。
Scan to join WeChat group