modelscope·@pab1it0/adx-mcp-server
通过标准化接口查询和分析Azure Data Explorer数据库的人工智能助手。
一个 模型上下文协议 (MCP) 服务器,用于 Azure Data Explorer。
通过标准化的 MCP 接口,该服务提供了对您的 Azure Data Explorer 集群和数据库的访问,使 AI 助手能够执行 KQL 查询并探索您的数据。
对 Azure Data Explorer 执行 KQL 查询
发现和探索数据库资源
认证支持
Docker 容器化支持
为 AI 助手提供交互式工具
工具列表是可配置的,因此您可以选择要向 MCP 客户端提供的工具。 如果您不使用某些功能或不想占用过多的上下文窗口,这将非常有用。
使用 Azure CLI 登录到具有 ADX 集群权限的 Azure 账户。
通过 .env 文件或系统环境变量配置您的 ADX 集群的环境变量:
# Required: Azure Data Explorer configuration
ADX_CLUSTER_URL=https://yourcluster.region.kusto.windows.net
ADX_DATABASE=your_database
{
"mcpServers": {
"adx": {
"command": "uv",
"args": [
"--directory",
"<full path to adx-mcp-server directory>",
"run",
"src/adx_mcp_server/main.py"
],
"env": {
"ADX_CLUSTER_URL": "https://yourcluster.region.kusto.windows.net",
"ADX_DATABASE": "your_database"
}
}
}
}
注意:如果在 Claude Desktop 中看到
Error: spawn uv ENOENT,您可能需要指定uv的完整路径,或者在配置中设置环境变量NO_UV=1。
此项目包括 Docker 支持,以便于部署和隔离。
使用以下命令构建 Docker 镜像:
docker build -t adx-mcp-server .
您可以使用 Docker 以多种方式运行服务器:
docker run -it --rm \
-e ADX_CLUSTER_URL=https://yourcluster.region.kusto.windows.net \
-e ADX_DATABASE=your_database \
adx-mcp-server
创建一个包含 Azure Data Explorer 凭据的 .env 文件,然后运行:
docker-compose up
要在 Claude Desktop 中使用容器化的服务器,请更新配置以使用带有环境变量的 Docker:
{
"mcpServers": {
"adx": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "ADX_CLUSTER_URL",
"-e", "ADX_DATABASE",
"adx-mcp-server"
],
"env": {
"ADX_CLUSTER_URL": "https://yourcluster.region.kusto.windows.net",
"ADX_DATABASE": "your_database"
}
}
}
}
此配置通过仅使用变量名的 -e 标志,并在 env 对象中提供实际值,将环境变量从 Claude Desktop 传递给 Docker 容器。
欢迎贡献!如果您有任何建议或改进,请打开一个问题或提交一个拉取请求。
该项目使用 uv 来管理依赖项。请按照您平台的说明安装 uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
然后,您可以创建一个虚拟环境并安装依赖项:
uv venv
source .venv/bin/activate # On Unix/macOS
.venv\Scripts\activate # On Windows
uv pip install -e .
项目已组织成 src 目录结构:
adx-mcp-server/
├── src/
│ └── adx_mcp_server/
│ ├── __init__.py # Package initialization
│ ├── server.py # MCP server implementation
│ ├── main.py # Main application logic
├── Dockerfile # Docker configuration
├── docker-compose.yml # Docker Compose configuration
├── .dockerignore # Docker ignore file
├── pyproject.toml # Project configuration
└── README.md # This file
该项目包括一个全面的测试套件,确保功能正常并帮助防止回归。
使用 pytest 运行测试:
# Install development dependencies
uv pip install -e ".[dev]"
# Run the tests
pytest
# Run with coverage report
pytest --cov=src --cov-report=term-missing
测试分为以下几类:
在添加新功能时,请同时添加相应的测试。
| 工具 | 类别 | 描述 |
|---|---|---|
execute_query | 查询 | 对 Azure Data Explorer 执行 KQL 查询 |
list_tables | 发现 | 列出配置数据库中的所有表 |
get_table_schema | 发现 | 获取特定表的架构 |
sample_table_data | 发现 | 从表中获取示例数据(可选示例大小) |
MIT
审计 npm 包依赖项以查找安全漏洞,提供详细的报告和修复建议,并集成 MCP。
通过API层将克劳德桌面版直接连接到数据库,使其能够探索数据库结构、编写SQL查询、分析数据集和创建报告。该API层还包含用于表探索和查询执行的工具。
DBCode 是一个 Visual Studio Code 扩展,允许你管理许多数据库,包括 PostgreSQL、MySQL、SQL Server、DuckDB、Redis、MongoDB 等更多数据库。 DBCode 提供了运行 MCP 服务器的选项,可以访问这些数据库、它们的模式以及执行查询的能力。
AI 首选的统一数据访问通道,支持30多种数据源(阿里云全系/主流数据库/数仓)的安全访问。
后端服务,实现了模型控制面板协议,可连接到 Apache Doris 数据库,允许用户执行 SQL 查询、管理元数据,并且有可能利用大语言模型(LLMs)完成自然语言到 SQL 的转换等任务。
提供对Excel文件的操纵功能。此服务器启用工作簿创建、数据操纵、格式设置和高级Excel功能。