12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Last updated at Posted at 2025-06-30

背景

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 contributor --assignee <Client ID> --scope /subscriptions/<subscription id>

--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_SUBSCRIPTION_ID

これも、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を設定してください。

"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:

12
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?