Skip to main content
Glama

adx-mcp-server

MIT License
32
  • Linux
  • Apple

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] AKS のワークロード ID 資格情報のサポート
  • [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 # Optional: Azure Workload Identity credentials # AZURE_TENANT_ID=your-tenant-id # AZURE_CLIENT_ID=your-client-id # ADX_TOKEN_FILE_PATH=/var/run/secrets/azure/tokens/azure-identity-token
Azure ワークロード ID サポート

ワークロード ID が構成された Azure Kubernetes Service (AKS) 環境で実行されている場合、サーバーはデフォルトで WorkloadIdentityCredential を使用するようになりました。必要な環境変数が存在する場合は常に、WorkloadIdentityCredential の使用が優先されます。

Azure Workload Identity を使用した AKS の場合、必要なのは次の点だけです。

  1. ポッドにAZURE_TENANT_IDAZURE_CLIENT_ID環境変数が設定されていることを確認します。
  2. トークン ファイルがデフォルトのパスにマウントされていることを確認するか、 ADX_TOKEN_FILE_PATHでカスタム パスを指定します。

これらの環境変数が存在しない場合、サーバーは自動的に DefaultAzureCredential にフォールバックし、複数の認証方法を順番に試行します。

  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 \ -e AZURE_TENANT_ID=your_tenant_id \ -e AZURE_CLIENT_ID=your_client_id \ 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", "-e", "AZURE_TENANT_ID", "-e", "AZURE_CLIENT_ID", "-e", "ADX_TOKEN_FILE_PATH", "adx-mcp-server" ], "env": { "ADX_CLUSTER_URL": "https://yourcluster.region.kusto.windows.net", "ADX_DATABASE": "your_database", "AZURE_TENANT_ID": "your_tenant_id", "AZURE_CLIENT_ID": "your_client_id", "ADX_TOKEN_FILE_PATH": "/var/run/secrets/azure/tokens/azure-identity-token" } } } }

この構成では、変数名のみを指定した-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

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.

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

  1. 特徴
    1. 使用法
      1. Azure ワークロード ID サポート
    2. Dockerの使用
      1. Dockerイメージの構築
      2. Dockerで実行する
      3. Claude Desktop で Docker を実行する
    3. 開発コンテナ / GitHub Codespace として使用する
      1. 発達
        1. プロジェクト構造
          1. テスト
          2. ツール
        2. ライセンス

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            Allows AI assistants to list tables, read data, and execute SQL queries through a controlled interface, making database exploration and analysis safer and more structured.
            Last updated -
            1
            580
            Python
            MIT License
            • Linux
            • Apple
          • -
            security
            F
            license
            -
            quality
            Enables AI assistants to interact with Metabase databases and dashboards, allowing users to list and execute queries, access data visualizations, and interact with database resources through natural language.
            Last updated -
            25
            JavaScript
            • Apple
          • -
            security
            A
            license
            -
            quality
            An easy-to-use bridge that lets AI assistants like Claude and Cursor IDE directly query and explore Microsoft SQL Server databases. No coding experience required!
            Last updated -
            27
            JavaScript
            GPL 3.0
            • Apple
          • -
            security
            F
            license
            -
            quality
            Enables AI assistants to interact with Metabase, providing access to dashboards, questions, databases, and tools for executing queries and viewing data through natural language.
            Last updated -
            JavaScript
            • Apple

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/pab1it0/adx-mcp-server'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server