木曜日, 7月 17, 2025
木曜日, 7月 17, 2025
- Advertisment -
ホームニューステックニュースGitHub Copilot Coding agent に Azure MCP Server の設定をする #VibeCoding

GitHub Copilot Coding agent に Azure MCP Server の設定をする #VibeCoding



GitHub Copilot Coding agent に Azure MCP Server の設定をする #VibeCoding

GitHub Copilot Coding Agentは、執筆日当日時点はプレビューです。ですが、非常に強力な開発者のツールとして機能します。なにせGitHub上でIssueを書いて、Copilot君にタスクをアサインするだけで、タスクをこなしてくれます。
Visual Studio Codeなどで使用する GitHub Copiloot Agent Modeとは別ですね。GitHub上でIssueを書いて進める方です😊

実際に開発を進めていくと、Copilot君が:

  • 自分のAzureの環境については知りようが無かったり
  • あるいは、プログラミング言語のバージョン毎の詳細を知りようが無かったり
  • あるいは、AzureのSDKの詳細を知りようが無かったり

します。

GitHubでIssueを書く際にその情報を提示してもいいのですがキリがありません。

そこでMCP Serverの出番です。

Azure MCP Serverを使うと、接続設定をするだけで、自分のAzureの情報を取得できるようになります。

  • Azure Statis Web Apppsの仕様にそったフォルダー構成にする (まだできない!)
  • Azure Functions上に作成したREST API (HTTP Trigger) を取得する (まだできない!)
  • Azure Cosmos DBのインスタンスやDB名を取得する (これはいける)

GitHub Copilog Coding Agentでも、MCP Server接続機能があります。
現時点では Local MCP Serverのみがサポートされています。Azure MCP ServerはLocal MCP Serverがありますので、連携ができます。認証設定が必要です。

ドキュメントにも記載があるのですが、若干、分かりにくい場合がありますので、手順をまとめておきます。

(このBlogは、殆ど手書きです)

  • GitHub Copilot Pro+もしくはGitHub Copilot Enterprise、もしくはGitHub Copilot Busioness が必要
  • 契約の管理者にて有効化

1. GitHubでCopilotの有効化

自分のGitHubのアカウントの設定で、Copilotの設定に移動します。

image.png

下の方になりますが、GitHub Copilot Coding agentenabledになっているのを確認します。なっていない場合は、事前準備をご確認ください。

image.png

Coding agentの設定で、どのリポジトリで有効化するかを選択します。私はAll repositoriesにしています。全てですね。

image.png

2. GitHubに新規のリポジトリ作成

ここでは、githubcopilot-lab という名称にしています。

執筆時点では、リポジトリーはprivateである必要があります。注意してください。

image.png

3. AzureのEntra IDで、アプリケーションのアカウントの作成

OpenID Connectの設定で、Azure上にアプリケーションのアカウントを作成します。

  • Azure Portalで、Entra IDに移動

image.png

  • 画面左側のメニューから[アプリの登録]を選択

image.png

  • 画面の上部の[新規登録]から[アプリケーションの登録]画面に移動
  • アプリケーションのアカウント名を[名前]に設定。ここでは dahatake-github-copilot としています。
  • [登録]ボタンを押して、アカウントの作成

image.png

  • アプリケーションのアカウントが作成できたら[証明書とシークレット]へ移動

image.png

  • [フェデレーション資格情報]へ移動。資格情報の追加をクリック。

image.png

  • [フェデレーション資格情報のシナリオ]でAzure リソースをデプロイする GitHub Actionsを選択します。

image.png

それぞれの情報を入力していきます。選択するのではなく、全て手入力です。

( ) はご自分のものに変更してください。

項目名 補足
組織 (dahatake) GitHubの契約しているアカウント名
リポジトリ (githubcopilot-lab) GitHubの対象のリポジトリです。
エンティティ型 環境 固定です!
GitHub環境名 copilot 固定です!すべて小文字です
名前 (dahatake-github-copilot) フェデレーションの識別子としての名称です

image.png

これでアプリケーションのアカウントの作成は完了です。

image.png

4. アプリケーションのアカウントに、Azure上での権限を設定

ここではサブスクリプションの中の全てのリソースが読み取れるようにします。Azure CLIより行います。

Azure CLIの設定:

AzureのPortalの画面上部に常にあるCloud Shellを起動します。

image.png

以下の文字列をメモ帳などに張り付けて編集の準備をします。

az role assignment create --role Reader --assignee f91b0cd2-14a5-4a3f-8489-3fe8cee36860 --scope /subscriptions/0e930937-43f5-484d-ba9e-1dd1151cf7ba

–assigneeは、アプリケーションのアカウントのクライアントIDを指定します。
先ほど作成したアプリケーションのアカウントから、アプリケーション (クライアント) IDになります。

image.png

–socpeのsbscriptonsの後に、AzureのサブスクリプションIDを設定します。

Cloud ShellにてCLI実行が成功すると、以下の様なJSONの結果が表示されます。

image.png

5. GitHub Actionsのファイルを作成

GitHub CopilotがAzureにログインできるようにGitHub Actionsのファイルを作成します。

  • GitHubのリポジトリで、codespaceを作成

image.png

Visual Studio Codeがブラウザーの中で起動しますね。

image.png

新規にファイルを追加。ファイル名は以下で固定

  • .github/workflows/copilot-setup-steps.yml

ファイルの内容として、ドキュメントにあるyamlファイルの内容をコピペ。

こんな感じ😊

image.png

画面左側の[ソース管理]から、現在の状態をリポジトリにコミットして反映させる。必ずコメントを書いて、[コミット]-[コミットしてプッシュ]を選択。メッセージボックスが表示されても、そのままコミットする。

image.png

GitHub Actions用のyamlファイルが作成されました。

image.png

6.GitHubのリポジトリに、Azureの資格情報を入力

GitHubのリポジトリの[settings]-[environments]に移動します。

image.png

[New environment]を選択して、環境の追加をします。

名称は copilot 固定です。全て小文字です。

image.png

[Add environment secret]を押して、3つの資格情報を入力します。

image.png

  • AZURE_CLIENT_ID
  • AZURE_TENANT_ID

Azure Portalで先ほど作成した、アプリケーションのアカウントの画面にあります。

image.png

これも、AzureのPortalにあります。場所は、サブスクリプションの画面です。

image.png

3つ登録が終わると、以下の様な画面になります。編集時には元のデータは表示されません。

image.png

7. MCP Serverの設定

GitHubのリポジトリの設定で、Azure MCP Serverの設定をします。

[Copilot]の[Coding agent]へ移動します。

image.png

ドキュメントにあるAzure MCP Serverの設定をコピペします。

そのまま画面下の[save]を押すと、「typeの指定が無い」というエラーが表示されます。

image.png

以下の様に、4行目にtype:localを設定してください。

image.png

これで[save]します。

8. 動作確認

Issueを作成して、GitHub Copilot Coding AgentがAzureのリソースにアクセスが出来るのか確認をします。

  • 新規に Issue を作成します。

image.png

Issueの例です。Azure MCP Serverのドキュメントを参照します。確実に動くものを。

Azure MCP Serverを使って、Azureのリソースグループの一覧を取得して、/azure-resource/azure-resource-group.md ファイルに出力してください。

image.png

[create]します。

Issueの一覧画面に移動します。

先ほど作成したIssueを選択します。そして、Assignから、copilotを選択します。タスクをアサインします。

image.png

Issueの内容をみると、Copilotがブランチを作成して、Pull Requestも作成して、作業しているのがわかります。

image.png

Pull Request。

image.png

[view sesssions]から、今、Copilotが何をしているのかが確認できます😊
image.png

new:
image.png

さらに[view verbose log]で、Github Actionsの出力状況も見えます。

image.png

image.png

いろいろと、やってますね!

image.png

Pull Requestに戻ると、タスクを自分で作成して、その中の進行状況も反映してくれています。

image.png

Copilot君のタスクが全て完了するまで待ちましょう。
終了すると[Copilot finished work on behalf of xxxx]の様なコメントが必ず表示されます。

ここが大事。必ずレビュー自分でやってください!人が責任をもって行ってください。ブランチが作成されていますから、そのブランチのファイルを見て、自分で動かして動作確認はできます。

これでOKであれば、[ready for review]を押します。

image.png

[Merge pull request]を押して。

image.png

Commitします。

image.png

これが作成されたファイルです。ちゃんと私のAzureのリソースグループの一覧取得が出来ていますね!

image.png

MCP Serverによるデータの読み書きは本当にAgent君の可能性を広げてくれます。

  • MCP Server側の機能強化と共に、出来ることも広がる
  • Visual Studio Codeを使わずとも、出来ることが広がる
  • それでも、Agent君が間違えることもあり、それは私たちの指示の説明不足
  • Toolsの128個制限は常にある

まだ始まったばかりです。

やり始めると、AgentとMCP Serverに全て任せるのはしんどいこともあり。やはり設計、開発、コードなどなど、私たちがそれぞれの知識は必要です。それでも、指示の仕方で今後できることは増えていくと思います。

このDeep Research型のAgentの未来は本当にあかるいと思います。

各種ドキュメントの更新も待ちましょう!

以下、必読です!

Best practices for using Copilot to work on tasks:





Source link

Views: 0

RELATED ARTICLES

返事を書く

あなたのコメントを入力してください。
ここにあなたの名前を入力してください

- Advertisment -