この記事では、GitHub Copilot クラウド エージェントを設定し、Azure MCP サーバーに接続する方法について説明します。 クラウド エージェントをサーバーに接続することで、エージェントは Azure 固有のファイルや Azure リソースを理解し、コード ファイルを編集できるようになります。
GitHub リポジトリで、GitHub Copilot クラウド エージェントにGitHubの問題を割り当てると、コードへの変更を含むプル要求が作成されます。 要求された変更でAzure リソースへのアクセスが必要な場合、GitHub Copilot クラウド エージェントは Azure MCP サーバーを使用する必要があります。 GitHub Copilot クラウド エージェントが Azure MCP Server を使用してAzure ベースのプロジェクトをエージェントで変更できるようにするには、GitHub Copilot クラウド エージェントを構成し、Azureで適切なアクセス許可を付与する必要があります。 すべてを手動で構成できますが、多くの手順は、 azd と coding-agent 拡張機能を使用して自動化されます。 GitHub UI で表示名 "Copilot クラウド エージェント" が使用されるようになりましたが、安定した拡張機能識別子はazure.coding-agentのままであり、CLI コマンドはazd coding-agent ...のままです。
[前提条件]
Azure アカウントと Azure サブスクリプションへのアクセス。 それらを設定する方法の詳細については、Azure アカウントの に関するページを参照してください。
GitHub アカウントと GitHub Copilot サブスクリプション。 それらを設定する方法の詳細については、「 GitHub でのアカウントの作成 および GitHub Copilot の Quickstartを参照してください。
GitHub リポジトリの既存のローカル クローン。 この記事では、GitHub Copilot クラウド エージェントと Azure MCP Server の間の接続を設定する方法について説明するため、GitHub リポジトリには、Bicepや Terraform テンプレートなどのAzureするデプロイ スクリプトを含める必要があります。
Azure MCP サーバーを使用するように GitHub リポジトリを構成する
azdのコーディング エージェント拡張機能を使用すると、Azure サブスクリプションの GitHub Copilot クラウド エージェントと Azure MCP Server の間の接続を安全に設定するために必要な手順が簡略化されます。 まず、Azure サブスクリプションにアカウントを作成し、必要なアクセス許可を持つロールを割り当てます。 次に、Azure MCP Server を GitHub Copilot クラウド エージェントに導入するために必要な JSON スニペットを提供します。
azdがまだインストールされていない場合は、指示に従ってインストールします。ターミナルで、操作するリポジトリのローカル クローンに移動します。
コマンド
coding-agentを使用して、azdのazd coding-agent config拡張機能を呼び出します。インストール中に、どれを選択するか求められます。
- Azure サブスクリプション
- Copilot クラウド エージェントを使用するGitHub リポジトリ
- 新規または既存のユーザー マネージド ID を作成するかどうか
- Azure の場所
- Azure リソース グループ
- 生成された GitHub Actions ワークフロー セットアップ ファイルを含む新しいブランチが作成される GitHub リポジトリ
場所とリソース グループを選択するときに、アプリケーション内の Azure リソースと同じターゲットの場所とリソース グループを使用できます。
しばらくすると、
coding-agentのazd拡張機能は、ユーザー割り当てマネージド ID を作成 (または既存の) ユーザー割り当てマネージド ID を使用し、ロールを割り当て、id 値を GitHub リポジトリ環境に格納し、生成されたGitHub Actionsワークフロー セットアップ ファイルを含むブランチを作成してプッシュします。コンソールに次のメッセージが表示されます。
(!) (!) NOTE: Some tasks must still be completed, manually: (!)通常、次の 3 つのタスクがあります。
- 生成された GitHub Actions ワークフロー セットアップ ファイルを含むブランチをマージします。
- Azure ポータルCopilotクラウド エージェントのマネージド ID ロールを構成します。 既定では、"閲覧者" ロールが割り当てられます。 ただし、クラウド エージェントが自律的に実行する内容に基づいて、他のアクセス許可を付与することもできます。
- リンクにアクセスして MCP 構成を設定します。 手動で移動するには、GitHub設定>Copilot>>に移動し、指定された JSON スニペットに貼り付けます。 次に例を示します。
{ "mcpServers": { "Azure": { "type": "local", "command": "npx", "args": [ "-y", "@azure/mcp@latest", "server", "start" ], "tools": [ "*" ] } } }最後に、
coding-agentのazd拡張機能がブラウザーを開くことを許可して、生成されたGitHub Actionsワークフロー セットアップ ファイルを含むブランチをマージするプル要求を作成できます。
GitHubで問題を作成してクラウド エージェントGitHub Copilot開始する
この時点で、Azureのデプロイとリソースを理解する必要があるGitHub Copilotクラウド エージェントに割り当てるGitHubの問題に対して、Azure MCP Server を使用するように、GitHub Copilotクラウド エージェントを正常に設定できました。
たとえば、Azure Database for PostgreSQL にデプロイするときに PostgreSQL に割り当てられるメモリを増やしたいとします。 使用可能な次のレベルのストレージを使用するように Bicep テンプレートを変更し、GitHub Copilot に割り当てる問題を作成します。
注
ユーザー マネージド ID ロールは既定で "閲覧者" に設定されているため、要求する変更は、Bicep テンプレートや Terraform テンプレートなどのデプロイ スクリプトを変更する必要があります。 "閲覧者" ロールのアクセス許可により、Azure サブスクリプション内の既存のリソースを直接変更するように求めることは承認されていません。
GitHub の Azure MCP サーバーを有効にした Azure ベースのプロジェクトを含むリポジトリで、[問題] に移動します。
[ 新しい問題 ] ボタンを選択します。 GitHub Copilot クラウド エージェントにタイトル フィールドと説明フィールドで行ってほしい変更を説明してください。 [作成] ボタンを選択します。
前の例から借用すると、次のテキストを使用して問題を説明できます。
Title: Increase database storage Currently, when deploying to Azure via Bicep, we're creating a PostgreSQL database with 32gb of storage. I need the next tier higher -- whatever that is.この例の問題では、ユーザーが何を求めているかを正確に把握していない場合でも、単純で明確な要求が行われます。 これにより、Azure MCP Server は、Azure Database for PostgreSQLフレキシブル サーバーの使用可能なストレージ層と、その変更を行うために必要なBicep テンプレートの設定について調査できます。
Important
プロンプトで必ず "Azure" という単語を使用して、GitHub Copilot が Azure MCP サーバーからツールを要求していることを確認します。
[担当者] の下にある [Copilot に割り当てる] ボタンを選択します。 [Copilot を課題に割り当て] ダイアログが表示され、ターゲット リポジトリおよびベース ブランチを変更し、必要に応じてプロンプトを追加することができます。 [割り当て] ボタンを選択します。
問題がクラウド エージェントGitHub Copilot割り当てられると、"[WIP] というプレフィックスが付いた pull request へのリンクが表示され、作業が開始されていることを知らせます。
"[WIP]" リンクを選択して、プル要求を表示します。
pull request の本文で、リンクを選択してコーディング セッションを表示します。 これは、Visual Studioのエクスペリエンスと同様に、Copilotクラウド エージェントが要求に対して行っている進行状況を示しています。
完了すると、GitHub Copilot クラウド エージェントがコードレビューを依頼します。 通常のワークフローを使用して、GitHubを反復処理し、GitHub Copilotクラウド エージェントを同僚として扱います。
変更を承認して pull request をマージすると、GitHub Copilot は作成した元の問題を解決します。