mcpField
🚀
🚀 MCP KQL Server

🚀 MCP KQL Server

ロヌカル
github.com/4R9UNデヌタ・分析2412 週間前に曎新

🚀 MCP KQL Server に぀いお

MCP KQL Server は、Azure Data Explorer ず Log Analytics 向けの MCP サヌバヌで、自然蚀語の質問を KQL ク゚リに倉換しお実行したす。デヌタアナリストや DevOps チヌム向けで、スキヌマの怜出ずキャッシュ機胜を備えおいたす。

䞻な機胜

  1. 01自然蚀語から KQL ぞの倉換NL2KQL
  2. 02生の KQL ク゚リの盎接実行
  3. 03JSON、CSV、衚圢匏の出力
  4. 04実行前のスキヌマ怜蚌
  5. 05スキヌマのキャッシュずテヌブル䞀芧
  6. 06可芖化を含む分析レポヌト

掻甚シヌン

  1. 01平易な英語で Azure Data Explorer クラスタヌを照䌚
  2. 02デヌタベヌス内のテヌブル構造の確認
  3. 03むベントデヌタの集蚈レポヌトの䜜成

MCP 察応

本プロゞェクトは MCP サヌバヌであり、ク゚リ実行ずスキヌマキャッシュ管理のための execute_kql_query ず kql_schema_memory を MCP クラむアントに公開したす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

MCP KQL サヌバヌ

mcp-name: io.github.4R9UN/mcp-kql-server

MseeP.ai Security Assessment Badge

AI を掻甚した KQL ク゚リの実行。自然蚀語から KQL ぞの倉換NL2KQLず実行に察応

自然蚀語の質問を、むンテリゞェントなスキヌマ怜出、AI を掻甚したキャッシュ、Azure Data Explorer ずのシヌムレスな統合により、最適化された KQL ク゚リに倉換する Model Context ProtocolMCPサヌバヌです。平易な英語で質問するだけで、コンテキストを考慮した正確な結果ず KQL ク゚リをすぐに取埗できたす。

最新バヌゞョンv2.1.5 - ポリシヌに準拠した Azure CLI ログむンず、公匏 MCP Python SDK ぞの移行。

Verified on MseeP MCP Registry PyPI version Python

CI/CD Pipeline codecov Security Rating Code Quality

MCP Python SDK Azure Data Explorer Maintenance MCP Badge

🎬 デモ

MCP KQL Server の動䜜を短いデモでご芧ください

MCP KQL Server Demo

🚀 機胜

  • execute_kql_query

    • 自然蚀語から KQL ぞ自然蚀語の説明から KQL ク゚リを生成したす。
    • KQL の盎接実行生の KQL ク゚リを実行したす。
    • 耇数の出力圢匏JSON、CSV、テヌブル圢匏に察応しおいたす。
    • 厳密なスキヌマ怜蚌怜出枈みのスキヌマメモリを䜿甚し、実行前に怜蚌したす。
    • スキヌマに基づく修正有効なテヌブルスキヌマで眮き換えを確認できる堎合に限り、無効な列を修正したす。
  • kql_schema_memory

    • スキヌマ怜出テヌブルのスキヌマを怜出しおキャッシュしたす。
    • デヌタベヌスの探玢デヌタベヌス内のすべおのテヌブルを䞀芧衚瀺したす。
    • AI コンテキストテヌブルの優先順䜍付けされた CAG コンテキストを取埗したす。オプションで、テヌブルに限定した厳密なスキヌマ出力にも察応しおいたす。
    • 分析レポヌト可芖化を含むレポヌトを生成したす。
    • キャッシュ管理スキヌマキャッシュを消去たたは曎新したす。
    • メモリ統蚈メモリ䜿甚量の統蚈を取埗したす。

📊 MCP ツヌルの実行フロヌ

graph TD
    A[👀 User Submits KQL Query] --> B{🔍 Query Validation}
    B -->|❌ Invalid| C[📝 Syntax Error Response]
    B -->|✅ Valid| D[🧠 Load Schema Context]

    D --> E{💟 Schema Cache Available?}
    E -->|✅ Yes| F[⚡ Load from Memory]
    E -->|❌ No| G[🔍 Discover Schema]

    F --> H[🎯 Execute Query]
    G --> I[💟 Cache Schema + AI Context]
    I --> H

    H --> J{🎯 Query Success?}
    J -->|❌ Error| K[🚚 Enhanced Error Message]
    J -->|✅ Success| L[📊 Process Results]

    L --> M[🎚 Generate Visualization]
    M --> N[📀 Return Results + Context]

    K --> O[💡 AI Suggestions]
    O --> N

    style A fill:#4a90e2,stroke:#2c5282,stroke-width:2px,color:#ffffff
    style B fill:#7c7c7c,stroke:#4a4a4a,stroke-width:2px,color:#ffffff
    style C fill:#e74c3c,stroke:#c0392b,stroke-width:2px,color:#ffffff
    style D fill:#8e44ad,stroke:#6a1b99,stroke-width:2px,color:#ffffff
    style E fill:#7c7c7c,stroke:#4a4a4a,stroke-width:2px,color:#ffffff
    style F fill:#27ae60,stroke:#1e8449,stroke-width:2px,color:#ffffff
    style G fill:#f39c12,stroke:#d68910,stroke-width:2px,color:#ffffff
    style H fill:#2980b9,stroke:#1f618d,stroke-width:2px,color:#ffffff
    style I fill:#f39c12,stroke:#d68910,stroke-width:2px,color:#ffffff
    style J fill:#7c7c7c,stroke:#4a4a4a,stroke-width:2px,color:#ffffff
    style K fill:#e74c3c,stroke:#c0392b,stroke-width:2px,color:#ffffff
    style L fill:#27ae60,stroke:#1e8449,stroke-width:2px,color:#ffffff
    style M fill:#8e44ad,stroke:#6a1b99,stroke-width:2px,color:#ffffff
    style N fill:#27ae60,stroke:#1e8449,stroke-width:2px,color:#ffffff
    style O fill:#f39c12,stroke:#d68910,stroke-width:2px,color:#ffffff
スキヌマメモリの怜出フロヌ

スキヌマメモリのフロヌはク゚リ実行に統合されおいたすが、ラむブ怜出を詊みる前に、既存のキャッシュ枈みスキヌマを再利甚するようになりたした。テヌブルスキヌマがすでに CAGスキヌマメモリにある堎合、サヌバヌは再むンデックスせずに、そのキャッシュ枈みスキヌマを䜿甚したす。

graph TD
    A[👀 User Requests Schema Discovery] --> B[🔗 Connect to Cluster]
    B --> C[📂 Enumerate Databases]
    C --> D[📋 Discover Tables]

    D --> E[🔍 Get Table Schemas]
    E --> F[🀖 AI Analysis]
    F --> G[📝 Generate Descriptions]

    G --> H[💟 Store in Memory]
    H --> I[📊 Update Statistics]
    I --> J[✅ Return Summary]

    style A fill:#4a90e2,stroke:#2c5282,stroke-width:2px,color:#ffffff
    style B fill:#8e44ad,stroke:#6a1b99,stroke-width:2px,color:#ffffff
    style C fill:#f39c12,stroke:#d68910,stroke-width:2px,color:#ffffff
    style D fill:#2980b9,stroke:#1f618d,stroke-width:2px,color:#ffffff
    style E fill:#7c7c7c,stroke:#4a4a4a,stroke-width:2px,color:#ffffff
    style F fill:#e67e22,stroke:#bf6516,stroke-width:2px,color:#ffffff
    style G fill:#8e44ad,stroke:#6a1b99,stroke-width:2px,color:#ffffff
    style H fill:#f39c12,stroke:#d68910,stroke-width:2px,color:#ffffff
    style I fill:#2980b9,stroke:#1f618d,stroke-width:2px,color:#ffffff
    style J fill:#27ae60,stroke:#1e8449,stroke-width:2px,color:#ffffff

📋 前提条件

  • Python 3.10 以䞊
  • Azure CLI がむンストヌルされおいるこず。サヌバヌの起動時に珟圚のトヌクンを確認し、必芁な堎合に限り、通垞の察話型 az login を実行したす。
  • Azure Data Explorer クラスタヌぞのアクセス暩

🚀 1 コマンドでむンストヌル

クむックむンストヌル掚奚
゜ヌスから
git clone https://github.com/4R9UN/mcp-kql-server.git && cd mcp-kql-server && pip install -e .
その他のむンストヌル方法
pip install mcp-kql-server

これで完了です サヌバヌは自動的に以䞋を実行したす。

  • ✅ %APPDATA%\KQL_MCPWindowsたたは ~/.local/share/KQL_MCPLinux/Macにメモリ甚ディレクトリを蚭定したす
  • ✅ 本番環境での䜿甚に最適なデフォルト蚭定を構成したす
  • ✅ 詳现な Azure SDK ログを抑制したす
  • ✅ 環境倉数は必芁ありたせん

📱 MCP クラむアントの蚭定

すべおのプラットフォヌムでの初回むンストヌル

pip install --upgrade mcp-kql-server

むンストヌル埌、Python モゞュヌルの゚ントリヌポむント python -m mcp_kql_server を䜿っおサヌバヌを起動するように MCP クラむアントを蚭定したす。これは Python が PATH にあるすべおのプラットフォヌムで動䜜し、mcp-kql-server コン゜ヌルスクリプトの堎所に䟝存したせん。コン゜ヌルスクリプトは匕き続き pip によっおむンストヌルされ、埌方互換性のためサポヌトされおいたす。以䞋の代替スニペットを参照しおください。

Claude Desktop

Claude Desktop の MCP 蚭定ファむルmcp_settings.jsonに远加したす。

堎所

  • Windows%APPDATA%\Claude\mcp_settings.json
  • macOS~/Library/Application Support/Claude/mcp_settings.json
  • Linux~/.config/Claude/mcp_settings.json
{
  "mcpServers": {
    "mcpKqlServer": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "mcp_kql_server"]
    }
  }
}
代替方法プラットフォヌムに䟝存しない起動方法、たたはむンストヌル枈みコン゜ヌルスクリプト

Windowspy ランチャヌは通垞 py ずしお利甚できたす。フルパスが必芁な堎合は Get-Command py を䜿甚しおください

{
  "mcpServers": {
    "mcpKqlServer": {
      "type": "stdio",
      "command": "py",
      "args": ["-3", "-m", "mcp_kql_server"]
    }
  }
}

macOS / Linux では、"py" を "python3" に眮き換え、"-3" 匕数を削陀しおください。

VSCodeMCP Extension を䜿甚

VSCode の MCP 蚭定に远加したす。

Settings.json の堎所

  • Windows%APPDATA%\Code\User\mcp.json
  • macOS~/Library/Application Support/Code/User/mcp.json
  • Linux~/.config/Code/User/mcp.json
{
  "servers": {
    "mcpKqlServer": {
      "type": "stdio",
      "command": "py",
      "args": ["-3", "-m", "mcp_kql_server", "--transport", "stdio"],
      "timeout": 300000,
      "env": {
        "FASTMCP_TRANSPORT": "stdio",
        "MCP_KQL_AUTH_ON_STARTUP": "true",
        "MCP_KQL_CHECK_FOR_UPDATES": "false",
        "MCP_KQL_SKIP_STARTUP_VERSION_CHECK": "1",
        "MCP_KQL_AUTH_CHECK_TIMEOUT_SECONDS": "10",
        "MCP_KQL_AUTH_LOGIN_TIMEOUT_SECONDS": "120",
        "MCP_KQL_SQLITE_BUSY_TIMEOUT_MS": "30000"
      }
    }
  }
}

VS Code に spawn ...PythonNNN/python.exe ENOENT ず蚘録される堎合、Python 拡匵機胜が "python" の代わりにキャッシュ枈みのむンタヌプリタヌのパスを䜿甚しおいたす。"py"Windows"python3"macOS/Linuxに切り替えるか、pip install によっお PATH に远加される "mcp-kql-server" コン゜ヌルスクリプトを䜿甚しおください。詳しくは docs/troubleshooting.md を参照しおください。

Windows のヒントpy -3 -m mcp_kql_server を䜿甚すれば、VS Code でナヌザヌ固有の Python パスを指定する必芁はありたせん。ロヌカルでフルパスを䜿甚する必芁がある堎合は、共有ドキュメントではなく、個人甚の mcp.json に蚘茉しおください。

サヌバヌが起動しおも VS Code にツヌルが衚瀺されない堎合は、MCP: Reset Cached Tools を実行し、続いお MCP: Reset Trust を実行しおから、MCP: List Servers でサヌバヌを再起動しおください。VS Code では信頌状態ずキャッシュ枈みツヌルが mcp.json ずは別に保存されるため、起動に䞀床倱敗するず、リセットするたで叀い空の状態が保持されるこずがありたす。

耇数の MCP クラむアント向け共有 HTTP モヌド

VS Code、GitHub Copilot CLI、゚ヌゞェント、その他の MCP クラむアントから、1 ぀の氞続的な MCP KQL サヌバヌプロセスに接続する堎合は、共有 HTTP を䜿甚したす。

ツヌル呌び出しはオペレヌタヌの Azure CLI ID で実行されるため、HTTP のバむンド先はデフォルトでルヌプバックに制限されおいたす。倖郚に公開する前に、信頌できるリバヌスプロキシで認蚌ず TLS を蚭定しおください。ルヌプバック以倖ぞのバむンドには、明瀺的な確認ずしお MCP_KQL_ALLOW_UNAUTHENTICATED_REMOTE_HTTP=true が必芁です。

サヌバヌを起動したす。

python -m mcp_kql_server --transport http --host 127.0.0.1 --port 8000 --http-path /mcp --stateless-http

クラむアントの蚭定

{
  "servers": {
    "mcpKqlServer": {
      "type": "http",
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}
ランタむム蚭定
オプションたたは環境倉数甚途デフォルト
--transport, FASTMCP_TRANSPORTstdio、http、streamable-http、たたは ssestdio
--host, FASTMCP_HOSTHTTP のバむンドホスト127.0.0.1
--port, FASTMCP_PORTHTTP のバむンドポヌト8000
--http-path, FASTMCP_STREAMABLE_HTTP_PATHStreamable HTTP の゚ンドポむントパス/mcp
--stateless-http, FASTMCP_STATELESS_HTTP共有デプロむ向けのステヌトレス HTTP モヌドfalse
--auth-on-startup / --no-auth-on-startup, MCP_KQL_AUTH_ON_STARTUPサヌバヌ起動時に認蚌を初期化したすtrue
--check-updates, MCP_KQL_CHECK_FOR_UPDATES起動前に PyPI でパッケヌゞの曎新を確認したすfalse
MCP_KQL_AUTH_CHECK_TIMEOUT_SECONDSAzure CLI の認蚌チェックのタむムアりト10
MCP_KQL_AUTH_LOGIN_TIMEOUT_SECONDS察話型 Azure ログむンのタむムアりト120
MCP_KQL_AUTH_MODEKusto の認蚌モヌドazure-cli たたは managed-identityazure-cli
AZURE_CLIENT_ID任意のナヌザヌ割り圓おマネヌゞド ID のクラむアント ID未蚭定
MCP_KQL_SQLITE_BUSY_TIMEOUT_MS耇数のロヌカル MCP むンスタンスを同時実行する堎合の SQLite のビゞヌタむムアりト30000
MCP_KQL_MAX_CONCURRENT_QUERIESプロセスごずの Kusto リク゚ストの最倧同時実行数5
MCP_KQL_MAX_RESULT_ROWS1 回の MCP レスポンスで返す最倧行数10000
MCP_KQL_MAX_RESULT_BYTESJSON レスポンスのデフォルトの最倧サむズ2000000
MCP_KQL_MAX_CACHE_ENTRIES氞続化されるク゚リ結果キャッシュの最倧゚ントリ数1000
MCP_KQL_MAX_CACHED_RESULT_BYTESキャッシュする結果 1 件の最倧サむズ2000000
MCP_KQL_CACHE_RESULTS䞊限付きのク゚リ結果をロヌカルの SQLite に氞続化したすtrue
MCP_KQL_EMBEDDING_MODELセマンティック怜玢に䜿甚する Sentence Transformers モデルall-MiniLM-L6-v2
MCP_KQL_LOG_LEVEL暙準゚ラヌ出力に曞き蟌むサヌバヌログのレベルINFO
MCP_KQL_ALLOW_UNAUTHENTICATED_REMOTE_HTTPルヌプバック以倖の HTTP バむンドを明瀺的に蚱可したすfalse

埋め蟌みモデルは必芁になったずきに読み蟌たれたす。モデルを倉曎するず、曎新時にスキヌマが再床埋め蟌たれたす。たた、他のモデルで生成されたベクトルは混圚させず、無芖されたす。

Roo-code たたは ClineVS-code 拡匵機胜

Roo-code たたは Cline の MCP 蚭定で、以䞋を远加たたは蚭定しおください。

MCP 蚭定の堎所

  • すべおのプラットフォヌムRoo-code 拡匵機胜の蚭定、たたは mcp_settings.json から
{
  "mcp-kql-server": {
    "type": "stdio",
    "command": "python",
    "args": ["-m", "mcp_kql_server"],
    "alwaysAllow": []
  }
}
汎甚 MCP クラむアント

MCP 互換アプリケヌションで䜿甚する堎合

# Preferred: invoke as a Python module (cross-platform)
python -m mcp_kql_server

# Platform-stable launchers (recommended if `python` is ambiguous on PATH)
py -3 -m mcp_kql_server     # Windows
python3 -m mcp_kql_server   # macOS / Linux

# Equivalent console script installed by pip
mcp-kql-server

# Shared HTTP mode for multiple clients
python -m mcp_kql_server --transport http --host 127.0.0.1 --port 8000 --http-path /mcp --stateless-http

# Server provides these tools:
# - execute_kql_query: Execute KQL or generate KQL from natural language
# - kql_schema_memory: Discover, cache, and inspect cluster schemas

🔧 クむックスタヌト

1. MCP サヌバヌを起動する蚭定䞍芁
python -m mcp_kql_server

サヌバヌの起動時に、Azure CLI のトヌクンチェックがバックグラりンドで開始され、必芁な堎合にのみ通垞の察話型 az login が実行されたす。Kusto ツヌルの呌び出し時にログむンが開始されるこずはありたせん。実行前に起動時のタスクが完了するたで埅機したす。サヌバヌを起動する前に手動で認蚌するには、次を実行したす。

az login

むンストヌル枈みサヌバヌのバヌゞョンずランタむムのデフォルト蚭定を確認するには

python -m mcp_kql_server --info --json

サヌバヌは次の蚭定で盎ちに起動したす

  • 📁 メモリパスを自動䜜成%APPDATA%\KQL_MCP\cluster_memory
  • 🔧 最適化されたデフォルト蚭定蚭定ファむルは䞍芁です
  • 🔐 安党なセットアップ既存の Azure CLI 資栌情報を䜿甚したす
  • ⚡ 応答性の高い起動認蚌をバックグラりンドで初期化しながら、MCP の怜出を盎ちに開始したす
3. MCP クラむアントから䜿甚する

サヌバヌは䞻に 2 ぀のツヌルを提䟛したす

execute_kql_query - KQL ク゚リを実行するか、自然蚀語から KQL を生成したす
kql_schema_memory - キャッシュされたクラスタヌのスキヌマを怜出、曎新、確認したす

💡 䜿甚䟋

基本的なク゚リの実行

MCP クラむアントClaude などに次のように䟝頌したす

"次の KQL ク゚リを help クラスタヌに察しお実行しおくださいcluster('help.kusto.windows.net').database('Samples').StormEvents | take 10。結果を芁玄し、抂芁を説明しおください。"

耇雑な分析ク゚リ

MCP クラむアントに次のように䟝頌したす

"help クラスタヌの Samples デヌタベヌスをク゚リしお、暎颚雚むベント数が倚い䞊䜍 10 州を衚瀺し、可芖化しおください。"

スキヌマの怜出

MCP クラむアントに次のように䟝頌したす。

「help.kusto.windows.net クラスタヌのスキヌマを怜出しおキャッシュし、利甚可胜なデヌタベヌスずテヌブルを教えおください」

コンテキストを螏たえたデヌタ探玢

MCP クラむアントに次のように䟝頌したす。

「help クラスタヌの Samples デヌタベヌスにある StormEvents テヌブルを䜿甚しお、2007 幎に発生した竜巻のうち、被害額の掚定が 100 䞇ドルを超えるものをすべお衚瀺しおください」

時系列分析

MCP クラむアントに次のように䟝頌したす。

「StormEvents テヌブルの 2007 幎の暎颚雚むベントを月別に分析し、むベントの皮類ごずにグルヌプ化しお、可芖化しお衚瀺しおください」

🎯 䞻なメリット

デヌタアナリスト向け
  • ⚡ ク゚リ開発の高速化AI を掻甚した自動補完ず提案
  • 🎚 豊富な可芖化デヌタ探玢に䜿える Markdown テヌブルをすぐに衚瀺
  • 🧠 コンテキスト認識ドキュメントがなくおもデヌタ構造を把握
DevOps チヌム向け
  • 🔄 スキヌマの自動怜出スキヌマ情報を最新の状態に維持
  • 💟 スマヌトキャッシュAPI 呌び出しを枛らし、パフォヌマンスを向䞊
  • 🔐 セキュアな認蚌既存の Azure CLI 資栌情報を掻甚
AI アプリケヌション向け
  • 🀖 むンテリゞェントなク゚リ支揎AI が生成するテヌブルの説明ず提案
  • 📊 構造化デヌタぞのアクセス埌続凊理に適した、敎然ずした型付きレスポンス
  • 🎯 コンテキストを考慮したレスポンスAI のより適切な意思決定を支える豊富なメタデヌタ

🏗 アヌキテクチャ

%%{init: {'theme':'dark', 'themeVariables': {
  'primaryColor':'#1a1a2e',
  'primaryTextColor':'#00d9ff',
  'primaryBorderColor':'#00d9ff',
  'secondaryColor':'#16213e',
  'secondaryTextColor':'#c77dff',
  'secondaryBorderColor':'#c77dff',
  'tertiaryColor':'#0f3460',
  'tertiaryTextColor':'#ffaa00',
  'tertiaryBorderColor':'#ffaa00',
  'lineColor':'#00d9ff',
  'textColor':'#ffffff',
  'mainBkg':'#0a0e27',
  'nodeBorder':'#00d9ff',
  'clusterBkg':'#16213e',
  'clusterBorder':'#9d4edd',
  'titleColor':'#00ffff',
  'edgeLabelBackground':'#1a1a2e',
  'fontFamily':'Inter, Segoe UI, sans-serif',
  'fontSize':'16px',
  'flowchart':{'nodeSpacing':60, 'rankSpacing':80, 'curve':'basis', 'padding':20}
}}}%%
graph LR
    Client["🖥 MCP Client<br/><b>Claude / AI / Custom</b><br/>─────────<br/>Natural Language<br/>Interface"]

    subgraph Server["🚀 MCP KQL Server"]
        direction TB
        FastMCP["⚡ FastMCP<br/>Framework<br/>─────────<br/>MCP Protocol<br/>Handler"]
        NL2KQL["🧠 NL2KQL<br/>Engine<br/>─────────<br/>AI Query<br/>Generation"]
        Executor["⚙ Query<br/>Executor<br/>─────────<br/>Validation &<br/>Execution"]
        Memory["💟 Schema<br/>Memory<br/>─────────<br/>AI Cache"]

        FastMCP --> NL2KQL
        NL2KQL --> Executor
        Executor --> Memory
        Memory --> Executor
    end

    subgraph Azure["☁ Azure Services"]
        direction TB
        ADX["📊 Azure Data<br/>Explorer<br/>─────────<br/><b>Kusto Cluster</b><br/>KQL Engine"]
        Auth["🔐 Azure<br/>Identity<br/>─────────<br/>Interactive<br/>CLI Auth"]
    end

    %% Client to Server
    Client ==>|"📡 MCP Protocol<br/>stdio or streamable HTTP"| FastMCP

    %% Server to Azure
    Executor ==>|"🔍 Execute KQL<br/>Query & Analyze"| ADX
    Executor -->|"🔐 Authenticate"| Auth
    Memory -.->|"📥 Fetch Schema<br/>On Demand"| ADX

    %% Styling - Using cyberpunk palette
    style Client fill:#1a1a2e,stroke:#00d9ff,stroke-width:4px,color:#00ffff
    style FastMCP fill:#16213e,stroke:#c77dff,stroke-width:3px,color:#c77dff
    style NL2KQL fill:#1a1a40,stroke:#ffaa00,stroke-width:3px,color:#ffaa00
    style Executor fill:#16213e,stroke:#9d4edd,stroke-width:3px,color:#9d4edd
    style Memory fill:#0f3460,stroke:#00d9ff,stroke-width:3px,color:#00d9ff
    style ADX fill:#1a1a2e,stroke:#ff6600,stroke-width:4px,color:#ff6600
    style Auth fill:#16213e,stroke:#00ffff,stroke-width:2px,color:#00ffff

    style Server fill:#0a0e27,stroke:#9d4edd,stroke-width:3px,stroke-dasharray: 5 5
    style Azure fill:#0a0e27,stroke:#ff6600,stroke-width:3px,stroke-dasharray: 5 5

MCP-KQL-Server が生成したレポヌト | ⭐ GitHub でこのリポゞトリにスタヌを付ける

🚀 本番環境ぞのデプロむ

MCP KQL Server を Azure にデプロむしお本番環境で利甚する準備はできおいたすか゚ンタヌプラむズレベルのセキュリティずスケヌラビリティを備えた Azure Container Apps 向けに、包括的なデプロむ自動化を提䟛しおいたす。

🌟 機胜
  • ✅ サヌバヌレスコンピュヌティング自動スケヌリングに察応した Azure Container Apps
  • ✅ マネヌゞド IDAzure AD によるパスワヌドレス認蚌
  • ✅ Infrastructure as Code再珟可胜なデプロむを実珟する Bicep テンプレヌト
  • ✅ モニタリングLog Analytics ず Application Insights を統合
  • ✅ デフォルトでセキュアネットワヌク分離、RBAC、最小暩限アクセス
  • ✅ 1 コマンドでデプロむPowerShell および Bash の自動化スクリプト
📖 デプロむガむド

デプロむ手順、アヌキテクチャの詳现、トラブルシュヌティングに぀いおは、次をご芧ください。

👉 本番環境ぞのデプロむガむドを芋る

ガむドには次の内容が含たれおいたす。

  • 🏗 詳现なアヌキテクチャ図
  • ⚙ 手順に沿ったデプロむ方法PowerShell および Bash
  • 🔒 セキュリティ蚭定のベストプラクティス
  • 🐛 よくある問題のトラブルシュヌティング
  • 📊 Docker によるコンテナヌ化の詳现
クむックデプロむ
# PowerShell (Windows)
cd deployment
.\deploy.ps1 -SubscriptionId "YOUR_SUB_ID" -ResourceGroupName "mcp-kql-prod-rg" -ClusterUrl "https://yourcluster.region.kusto.windows.net"

# Bash (Linux/Mac/WSL)
cd deployment
./deploy.sh --subscription "YOUR_SUB_ID" --resource-group "mcp-kql-prod-rg" --cluster-url "https://yourcluster.region.kusto.windows.net"

📁 プロゞェクト構成

mcp-kql-server/
├── mcp_kql_server/
│   ├── __init__.py          # Package initialization
│   ├── mcp_server.py        # Main MCP server implementation
│   ├── execute_kql.py       # KQL query execution logic
│   ├── memory.py            # Advanced memory management
│   ├── kql_auth.py          # Azure authentication
│   ├── utils.py             # Utility functions
│   └── constants.py         # Configuration constants
├── docs/                    # Documentation
├── Example/                 # Usage examples
├── pyproject.toml          # Project configuration
└── README.md               # This file

🔒 セキュリティ

  • Azure CLI 認蚌既存のトヌクンを再利甚するか、ブラりザヌでの察話型ログむンを開始したす
  • 資栌情報を保存しないサヌバヌは認蚌トヌクンを保存したせん
  • ロヌカルメモリスキヌマキャッシュはロヌカルに保存され、倖郚に送信されたせん

🐛 トラブルシュヌティング

よくある問題
  1. 認蚌゚ラヌ

    # Re-authenticate with Azure CLI
    az login --tenant your-tenant-id
    
  2. メモリの問題

    # The memory cache is now managed automatically. If you suspect issues,
    # you can clear the cache directory, and it will be rebuilt on the next query.
    # Windows:
    rmdir /s /q "%APPDATA%\KQL_MCP\unified_memory.json"
    
    # macOS/Linux:
    rm -rf ~/.local/share/KQL_MCP/cluster_memory
    
  3. 接続タむムアりト

    • クラスタヌ URI の圢匏を確認しおください
    • ネットワヌク接続を確認しおください
    • Azure のアクセス蚱可を確認しおください

🀝 コントリビュヌション

コントリビュヌションを歓迎したすぜひご参加ください。

📞 サポヌト

🌟 スタヌ履歎

スタヌ履歎チャヌト


mcp-name: io.github.4R9UN/mcp-kql-server

ク゚リをお楜しみください🎉

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。