mcpField
A
Azure MCP Agents Functions

Azure MCP Agents Functions

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

Azure MCP Agents Functions について

Azure DevOps を利用するチーム向けの Azure Functions ベースの MCP サーバーです。Azure Boards の作業項目操作と Azure Pipelines の管理機能をツールとして公開します。

主な機能

  1. 01Azure DevOps プロジェクトの一覧
  2. 02作業項目の検索と絞り込み
  3. 03作業項目の作成
  4. 04パイプラインの一覧と実行
  5. 05パイプライン実行状況の確認

活用シーン

  1. 01プロジェクト内の作業項目の確認
  2. 02バグ、タスク、ユーザーストーリーの作成
  3. 03指定ブランチでのパイプライン実行
  4. 04ビルド状況の確認

MCP 対応

Azure DevOps の操作を MCP ツールとして公開し、対応クライアントから検出・呼び出しできます。Azure Functions は設定済みの VssConnection を通じて Azure DevOps に接続します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Azure MCP Agents Functions

このプロジェクトは、「MCP(Model Context Protocol)ツール」として機能する Azure Functions を実装します。これらのツールはさまざまな Azure DevOps 機能を公開し、会話型 AI インターフェイスを通じて Azure Boards と Azure Pipelines を利用できるようにします。

プロジェクト構成

コアロジックは AzureMcpAgents.Functions ディレクトリにあります。

  • Program.cs:Azure Functions アプリケーションのエントリポイントです。以下を含むサービスの構成を処理します。
    • Functions Web アプリケーションのセットアップ。
    • MCP ツールのメタデータの有効化。
    • local.settings.json の構成を使用した Azure DevOps への接続(VSS Connection)。
  • Tools/:個々の MCP ツールが含まれるディレクトリです。
    • AzureBoardsTool.cs:Azure Boards を操作する機能を提供します。
      • ListProjects:Azure DevOps プロジェクトを一覧表示します。
      • ListWorkItems:指定したプロジェクト内の作業項目を一覧表示します。作業項目の種類によるフィルターや、件数の上限を指定できます。
      • CreateWorkItem:指定したプロジェクトに、新しい作業項目(Bug、Task、User Story など)を作成します。タイトル、説明、担当者、タグなどの詳細を指定できます。
    • AzurePipelinesTool.cs:Azure Pipelines を操作する機能を提供します。
      • ListPipelines:指定したプロジェクトの Azure DevOps パイプラインを一覧表示します。
      • RunPipeline:特定の Azure DevOps パイプラインを実行します。ブランチやパイプライン変数を任意で指定できます。
      • GetPipelineRunStatus:特定のパイプライン実行(ビルド)のステータスを取得します。
    • SayHelloTool.cs:「Hello」メッセージを返すシンプルなツールです。テストまたはデモ用と考えられます。
  • local.settings.json:ローカル開発用の設定が含まれます。以下の設定があります。
    • Azure Functions ワーカーランタイムの構成。
    • Azure DevOps への接続情報:
      • Vss__OrgUrl:Azure DevOps 組織の URL。
      • Vss__TenantId:Azure Active Directory テナント ID。
      • Vss__ClientId:Azure DevOps での認証に使用するアプリケーション登録のクライアント ID。
  • Extensions/:Program.cs の using AzureMcpAgents.Functions.Extensions; に基づくと、このディレクトリにはサービス構成用の拡張メソッドや、その他の共有ユーティリティが含まれていると考えられます。

機能

  • Azure Boards の統合:
    • 利用可能な Azure DevOps プロジェクトを一覧表示します。
    • プロジェクトから作業項目を取得し、種類でフィルターできます。
    • 詳細情報を指定して、新しい作業項目を作成します。
  • Azure Pipelines の統合:
    • プロジェクト内のパイプラインを一覧表示します。
    • ブランチとパラメーターを指定して、パイプラインの実行を開始します。
    • パイプライン実行のステータスを確認します。
  • MCP ツールのフレームワーク:
    • 関数は MCP ツールとして公開され、[McpToolTrigger] 属性と [McpToolProperty] 属性で識別できます。
    • これにより、会話型 AI や同様のプラットフォームが、適切なパラメーターを指定してこれらの関数を検出し、呼び出せるようになります。

はじめに

前提条件
  • .NET SDK(local.settings.json に指定された FUNCTIONS_WORKER_RUNTIME と互換性のあるバージョン。「dotnet-isolated」の場合は .NET 8 以降)。
  • Azure Functions Core Tools。
  • Azure DevOps 組織と、その組織内のプロジェクト。
  • Azure DevOps へのアクセス権限を持つ Azure Active Directory アプリケーション登録。
設定
  1. リポジトリをクローンします。
  2. local.settings.jsonを更新します:
    • Vss__OrgUrlに、Azure DevOps組織のURL(例:https://dev.azure.com/your-org)を入力します。
    • Vss__TenantIdをAzure ADテナントIDで更新します。
    • Vss__ClientIdをAADアプリ登録のクライアントIDで更新します。
    • 注:ローカル開発では、AzureWebJobsStorageにUseDevelopmentStorage=trueが設定されており、Azure Storage Emulatorを使用します。起動していることを確認するか、実際のAzure Storageアカウントを指すように設定してください。
  3. 認証を設定します:AADアプリ登録に、Azure DevOpsに必要なAPI権限(例:「Work Items Read & Write」、「Build Read & Execute」)があることを確認します。必要に応じて、管理者の同意を付与してください。認証の仕組みでは、指定されたClientIdとTenantIdを使用し、Managed Identityやクライアントシークレットなどを利用している可能性があります(ただし、提示されたファイルにはシークレットは明示されていません。VssConnectionでよく使われるパターンです)。
ローカルでの実行
  1. AzureMcpAgents.Functionsディレクトリに移動します。
  2. Functionsホストを起動します。
    func start
    
    これにより、MCP対応プラットフォームからツールを呼び出せるようになります。

仕組み

このアプリケーションは、Microsoft.TeamFoundationServer.ClientライブラリとMicrosoft.VisualStudio.Services.Clientライブラリを使用して、Azure DevOps REST APIとやり取りします。 各「ツール」は、MCPフレームワークによってトリガーされるAzure Functionです。[McpToolTrigger]属性でツールの名前と説明を定義し、[McpToolProperty]属性で各ツールに必要な入力パラメーターを定義します。

ツールが(Copilotなどによって)呼び出されると、次の処理が行われます。

  1. Azure Functionがトリガーされます。
  2. 注入されたVssConnection(Program.csで設定)を使用して、Azure DevOpsに接続します。
  3. 対応するクライアント(例:WorkItemTrackingHttpClient、BuildHttpClient)をVssConnectionから取得します。
  4. クライアントがAzure DevOpsをAPIで呼び出し、要求された操作(例:プロジェクトの一覧表示、作業項目の作成、パイプラインの実行)を実行します。
  5. 結果は通常JSONにシリアライズされ、返されます。

コメント

MCP は初めてですか?

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

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