adx-mcp-server

by pab1it0
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Used for loading environment variables from a .env file for configuration of the Azure Data Explorer connection details and authentication credentials.

  • Supports comprehensive testing of the MCP server functionality, including configuration validation, server operation, and error handling tests.

Azure Data Explorer MCP 서버

Microsoft Fabric의 Azure Data Explorer/Eventhouse를 위한 MCP( Model Context Protocol ) 서버입니다.

이를 통해 표준화된 MCP 인터페이스를 통해 Azure Data Explorer/Eventhouse 클러스터 및 데이터베이스에 액세스할 수 있으므로 AI 도우미가 KQL 쿼리를 실행하고 데이터를 탐색할 수 있습니다.

특징

  • [x] Azure Data Explorer에 대해 KQL 쿼리 실행
  • [x] 데이터베이스 리소스를 검색하고 탐색합니다.
    • [x] 구성된 데이터베이스의 테이블 나열
    • [x] 테이블 스키마 보기
    • [x] 테이블의 샘플 데이터
    • [x] 테이블 통계/세부 정보 가져오기
  • [x] 인증 지원
    • [x] 토큰 자격 증명 지원(Azure CLI, MSI 등)
  • [x] Docker 컨테이너화 지원
  • [x] AI 어시스턴트를 위한 대화형 도구 제공

도구 목록은 구성 가능하므로 MCP 클라이언트에서 사용할 도구를 선택할 수 있습니다. 특정 기능을 사용하지 않거나 컨텍스트 창을 너무 많이 차지하고 싶지 않을 때 유용합니다.

용법

  1. Azure CLI를 사용하여 ADX 클러스터에 대한 권한이 있는 Azure 계정에 로그인합니다.
  2. .env 파일이나 시스템 환경 변수를 통해 ADX 클러스터의 환경 변수를 구성합니다.

지엑스피1

  1. 클라이언트 설정 파일에 서버 설정을 추가하세요. 예를 들어, Claude Desktop의 경우:
{ "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 이미지를 빌드합니다.

docker build -t adx-mcp-server .

Docker로 실행

Docker를 사용하여 여러 가지 방법으로 서버를 실행할 수 있습니다.

docker run을 직접 사용:

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 파일을 만든 다음 다음을 실행합니다.

docker-compose up

Claude Desktop에서 Docker로 실행

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 플래그와 변수 이름만 사용하여 Claude Desktop에서 Docker 컨테이너로 환경 변수를 전달하고, env 객체에 실제 값을 제공합니다.

개발 컨테이너/GitHub Codespace로 사용

이 저장소는 원활한 개발 환경을 위한 개발 컨테이너로도 사용할 수 있습니다. 개발 컨테이너 설정은 devcontainer-feature/adx-mcp-server 폴더에 있습니다.

자세한 내용은 devcontainer README를 확인하세요.

개발

기여를 환영합니다! 제안이나 개선 사항이 있으시면 이슈를 개설하거나 풀 리퀘스트를 제출해 주세요.

이 프로젝트는 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


You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

AI 도우미는 표준화된 인터페이스를 통해 Azure Data Explorer 데이터베이스를 쿼리하고 분석합니다.

  1. Features
    1. Usage
      1. Docker Usage
        1. Building the Docker Image
        2. Running with Docker
        3. Running with Docker in Claude Desktop
      2. Using as a Dev Container / GitHub Codespace
        1. Development
          1. Project Structure
            1. Testing
            2. Tools
          2. License
            ID: 1yysyd147h