mcpField
🧠
🧠 Azure Self Help MCP Server

🧠 Azure Self Help MCP Server

ローカル
github.com/akshaykokaneクラウド・インフラ182 週間前に更新

🧠 Azure Self Help MCP Server について

Azure Self Help APIのワークフローを公開し、Azureリソースを段階的にトラブルシューティングするMCPサーバーです。調査セッションの開始、進行、確認、再起動を必要とするAIアプリやエージェント向けです。

主な機能

  1. 01トラブルシューティングセッションの作成
  2. 02現在の手順と説明の確認
  3. 03回答を送信してセッションを継続
  4. 04セッションの終了または再起動
  5. 05DefaultAzureCredentialによる認証

活用シーン

  1. 01Azure VMのSSH接続問題の診断を支援
  2. 02Azureトラブルシューティングを対話形式で進行

MCP 対応

Azure Self Help APIの操作を、互換ホスト向けのMCPツールとして公開します。セッションの作成、手順の取得、継続、終了、再起動に対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🧠 Azure Self Help MCP サーバー

Azure Troubleshooter MCP Server へようこそ。Model Context Protocol (MCP) の実践的な実装で、Azure Self Help API を使用して、Claude や Semantic Kernel などのインテリジェントなエージェントが Azure リソースのトラブルシューティングを段階的に行えるように設計されています。

簡単に言うと、AI アプリが Azure の Guided Troubleshooter とやり取り し、よくある診断ワークフローを自動化できます。


💡 これは何ですか?

このプロジェクトは、Azure の Self Help API をツールセットとして公開する MCP サーバー を実装しています。Claude Desktop や SK App などの MCP ホストに接続すると、エージェントに次のことを依頼できます。

  • トラブルシューティングセッションを作成する
  • 現在のステップを確認する
  • 回答してフローを続行する
  • セッションを終了または再起動する

Azure 診断のための 対話型 AI アシスタント としてご活用ください。


✨ ライブデモのユースケース

❓ 「Azure VM に SSH 接続できません。」

このツールを使うと、Microsoft の Guided Troubleshooter API を利用して、LLM が考えられる原因と解決策を対話形式で案内します。

アプリの動作デモ


🧰 前提条件

  • .NET 8 SDK
  • Azure CLI(ログイン済み)
  • Claude アプリまたは任意の MCP ホスト
  • IDE/ターミナル

📦 セットアップ

ステップ 1:パッケージをインストールする
dotnet add package ModelContextProtocol --prerelease
dotnet add package Microsoft.Extensions.Hosting
dotnet add package Azure.ResourceManager.SelfHelp
dotnet add package Azure.Identity

ステップ 2:MCP サーバーを作成する

Program.cs で:

var builder = Host.CreateEmptyApplicationBuilder(settings: null);

builder.Services.AddMcpServer()
    .WithStdioServerTransport()
    .WithToolsFromAssembly(); // Registers [McpServerTool] methods

var app = builder.Build();
await app.RunAsync();

ステップ 3:MCP ツールを作成する

AzureTroubleshooterTools.cs で:

[McpServerToolType]
public static class AzureTroubleshooterTools
{
    [McpServerTool, Description("Create a troubleshooter session")]
    public static async Task<string> CreateTroubleshooter([Description("Resource Uri of the azure resource")]string scope)
    {
        string solutionId = "e104dbdf-9e14-4c9f-bc78-21ac90382231"; // this is solutionId for vm ssh issue. This id can be found using Discovery API of Azure Help, which will also be part of this MCP Server
        string troubleshooterName = Guid.NewGuid().ToString();
        var client = new ArmClient(new DefaultAzureCredential());

        var troubleshooterId = SelfHelpTroubleshooterResource.CreateResourceIdentifier(scope, troubleshooterName);
        var troubleshooter = client.GetSelfHelpTroubleshooterResource(troubleshooterId);

        var data = new SelfHelpTroubleshooterData
        {
            SolutionId = solutionId,
            Parameters = { ["ResourceURI"] = scope }
        };

        ArmOperation<SelfHelpTroubleshooterResource> lro = await troubleshooter.UpdateAsync(WaitUntil.Completed, data);
        return $"Troubleshooter created with ID: {lro.Value.Data.Id}";
    }

    // Tools: Get, Continue, End, Restart...
}

🤖 Claude またはその他のホスト向け MCP 設定

Claude などの MCP 対応アプリを MCP サーバーに接続するには、設定ファイルを更新します(Claude Desktop の場合:Settings > Developer)。

{
  "mcpServers": {
    "azurehelpTroubleshooter": {
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "/Users/yourname/Projects/AzureTroubleshooterServer",
        "--no-build"
      ]
    }
  }
}

保存して再起動すると、Claude がツールを検出し、Azure 診断をサポートできるようになります! ✅


🧪 利用可能なツール

メソッド説明
CreateTroubleshooterリソースの新しいトラブルシューティングセッションを開始する
GetTroubleshooterStep現在のステップと手順を確認する
ContinueTroubleshooter現在のステップの質問に回答する
EndTroubleshooterセッションを終了する
RestartTroubleshooter最初のステップからやり直す

🛡 認証

DefaultAzureCredential を使用しているため、次の環境ですぐに動作します。

  • Azure CLI
  • 環境変数
  • マネージド ID

🧠 重要な理由

Model Context Protocol (MCP) は、LLM がツールとやり取りする方法を大きく変えています。Azure Help API 向けの MCP サーバーを構築することで、次のことが可能になります。

  • Azure のデバッグを エージェントネイティブ にする
  • AI アプリにクラウドインテリジェンスをもたらす
  • 同じ構造で他の Microsoft API にも拡張する

📎 関連ブログ


🙌 謝辞

このような開発者向けの魔法を実現してくださった、素晴らしい Azure SDK チームと MCP の開発者の皆さんに感謝します。 ✨


コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。