SuperAPI AI 工具集

adx-mcp-server

adx-mcp-server 是一个 Model Context Protocol (MCP) 服务器,使 AI 助手能够通过标准化接口对 Azure Data Explorer(ADX/Kusto)数据库执行 KQL 查询并进行分析。它支持查询执行、数据库发现(列出表、查看架构、预览示例数据、统计信息)、多种 Azure 身份验证方式以及多种部署选项。

访问官网

工具介绍

用途

adx-mcp-server 是一个 Model Context Protocol (MCP) 服务器,用于让 AI 助手通过标准化接口对 Azure Data Explorer(ADX/Kusto)数据库执行 KQL 查询并探索数据。该服务器可访问 Azure Data Explorer 以及 Microsoft Fabric 中的 Eventhouse 集群。

主要能力

查询执行

  • 执行 KQL 查询:对 ADX 数据库运行任意 KQL 查询
  • 结构化结果:结果以 JSON 格式返回,便于消费

数据库发现

  • 列出表:发现数据库中的所有表
  • 查看架构:检查表架构和列类型
  • 示例数据:以可配置的样本大小预览表内容
  • 表统计信息:获取包括行数和存储大小在内的详细元数据

身份验证

  • DefaultAzureCredential:支持 Azure CLI、托管标识等
  • 工作负载标识(Workload Identity):原生支持 AKS 工作负载标识
  • 灵活的凭据:兼容多种 Azure 身份验证方法

部署选项

  • 多种传输方式:stdio(默认)、HTTP 和 Server-Sent Events (SSE)
  • Docker 支持:生产就绪的容器镜像,遵循安全最佳实践
  • Dev Container:通过 GitHub Codespaces 提供无缝开发体验

工具列表可配置,你可以选择向 MCP 客户端公开哪些工具。

使用方式

  1. 使用 Azure CLI 登录具有 ADX 集群权限的 Azure 账户。
  2. 通过 .env 文件或系统环境变量配置 ADX 集群的环境变量。
  3. 将服务器配置添加到客户端配置文件(例如 Claude Desktop)。

在 AKS 环境中配置了工作负载标识时,服务器默认使用 WorkloadIdentityCredential。对于使用 Azure Workload Identity 的 AKS,只需:

  • 确保 Pod 设置了 AZURE_TENANT_ID 和 AZURE_CLIENT_ID 环境变量
  • 确保令牌文件挂载在默认路径,或通过 ADX_TOKEN_FILE_PATH 指定自定义路径

如果这些环境变量不存在,服务器将自动回退到 DefaultAzureCredential。

Docker

构建 Docker 镜像并运行。创建包含 ADX 凭据的 .env 文件后运行。

在 Claude Desktop 中使用容器化服务器时,更新配置以使用 Docker 和环境变量。

对于 HTTP 模式部署,可使用相应的 Docker 配置。

Dev Container / GitHub Codespace

该仓库也可用作开发容器。Dev Container 配置位于 devcontainer-feature/adx-mcp-server 文件夹中。

开发与测试

项目使用 uv 管理依赖。可创建虚拟环境并安装依赖。项目采用 src 目录结构,包含全面的测试套件,使用 pytest 运行测试。测试分为:配置验证测试、服务器功能测试、错误处理测试、主应用程序测试。

其他说明

可用工具、必需环境变量和可选环境变量在仓库中有详细说明。欢迎贡献,可通过 issue 或 pull request 提交建议或改进。