# ADX查询分析服务
## 基本信息
- Slug: `pab1it0-adx-mcp-server`
- Source: modelscope
- Publisher: @pab1it0/adx-mcp-server
- Categories: databases / cloud-platforms / search
- Hosted: No
- License: MIT License
- Source URL: https://www.modelscope.cn/mcp/servers/@pab1it0/adx-mcp-server
## 简介
通过标准化接口查询和分析Azure Data Explorer数据库的人工智能助手。
## 安装提示

```bash
3. 将服务器配置添加到客户端配置文件中。例如，对于 Claude Desktop： ```json { "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" } } } }
```

## MCP Server 详情

# Azure Data Explorer MCP 服务器

<a href="https://glama.ai/mcp/servers/1yysyd147h">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/1yysyd147h/badge" />
</a>

一个 [模型上下文协议](https://modelcontextprotocol.io) (MCP) 服务器，用于 Azure Data Explorer。

通过标准化的 MCP 接口，该服务提供了对您的 Azure Data Explorer 集群和数据库的访问，使 AI 助手能够执行 KQL 查询并探索您的数据。

## 特性

- [x] 对 Azure Data Explorer 执行 KQL 查询
- [x] 发现和探索数据库资源
  - [x] 列出配置数据库中的表
  - [x] 查看表结构
  - [x] 从表中采样数据
- [x] 认证支持
  - [x] 令牌凭证支持（Azure CLI、MSI 等）
- [x] Docker 容器化支持

- [x] 为 AI 助手提供交互式工具

工具列表是可配置的，因此您可以选择要向 MCP 客户端提供的工具。
如果您不使用某些功能或不想占用过多的上下文窗口，这将非常有用。

## 使用方法

1. 使用 Azure CLI 登录到具有 ADX 集群权限的 Azure 账户。

2. 通过 `.env` 文件或系统环境变量配置您的 ADX 集群的环境变量：

```env
# Required: Azure Data Explorer configuration
ADX_CLUSTER_URL=https://yourcluster.region.kusto.windows.net
ADX_DATABASE=your_database
```


3. 将服务器配置添加到客户端配置文件中。例如，对于 Claude Desktop：

```json
{
  "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 镜像

使用以下命令构建 Docker 镜像：

```bash
docker build -t adx-mcp-server .
```


### 使用 Docker 运行

您可以使用 Docker 以多种方式运行服务器：

#### 直接使用 docker run：

```bash
docker run -it --rm \
  -e ADX_CLUSTER_URL=https://yourcluster.region.kusto.windows.net \
  -e ADX_DATABASE=your_database \
  adx-mcp-server
```


#### 使用 docker-compose：

创建一个包含 Azure Data Explorer 凭据的 `.env` 文件，然后运行：

```bash
docker-compose up
```


### 在 Claude Desktop 中使用 Docker 运行

要在 Claude Desktop 中使用容器化的服务器，请更新配置以使用带有环境变量的 Docker：

```json
{
  "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`](https://github.com/astral-sh/uv) 来管理依赖项。请按照您平台的说明安装 `uv`：

```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```


然后，您可以创建一个虚拟环境并安装依赖项：

```bash
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 运行测试：

```bash
# 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

---
```

