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 データ エクスプローラー MCP サーバー

Microsoft Fabric の Azure Data Explorer/Eventhouse 用のモデル コンテキスト プロトコル(MCP) サーバー。

これにより、標準化された 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 クラスターの環境変数を構成します。
# Required: Azure Data Explorer configuration ADX_CLUSTER_URL=https://yourcluster.region.kusto.windows.net ADX_DATABASE=your_database
  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フラグを使用し、 envオブジェクトに実際の値を指定して、Claude Desktop から Docker コンテナーに環境変数を渡します。

開発コンテナ / 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発見オプションのサンプルサイズでテーブルからサンプルデータを取得する

ライセンス

マサチューセッツ工科大学


You must be authenticated.

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

標準化されたインターフェイスを通じて Azure Data Explorer データベースをクエリおよび分析する AI アシスタント。

  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