AWS re:Invent 2025 にて Frontier Agents の1つとして AWS DevOps Agent が発表されました。この DevOps Agent は AI エージェントを利用して自律的にインシデントを調査し、根本原因を特定してくれるサービスです。チケットシステムなどと連携させることで、インシデント発生から調査開始を自動化することができ、初動対応をかなり早めることが期待できます。

DevOps Agent では MCP サーバ (要リモート、OAuth) も利用することができます。インシデントの根本原因がアプリケーションにあった場合、GitHub MCP Server を使って Issue 登録までできれば、その後、Kiro autonomous agent といった開発エージェントを使ってバグフィックスも自動化できてしまったりするかもしれません。とにかく色々捗りそうです。というわけで、DevOps Agent に GitHub MCP Server を登録する方法を記録しておきたいと思います。

当記事に掲載されている情報は、あくまで参考情報としてご利用ください。MCP サーバを通じて AI エージェントから外部に何らかの情報を送る場合は、送信先にご注意ください。思わぬ情報漏洩を招く場合があります。当記事の情報を利用することで生じたいかなる損害についても、筆者は責任を負いかねますので、予めご了承ください。

DevOps Agent 標準で設定できる GitHub との連携

DevOps Agent の Agent Space の設定を見てみると、“Pipeline” のところで GitHub や GitLab と連携できそうに見えます。これはアプリケーションのデプロイイベントやコード変更差分とインシデントの相関関係を分析するためのもので、コード全体を調査したり、Issue を起票したりしてくれるわけではありません。

GitHub integration enables AWS DevOps Agent to access code repositories and receive deployment events during incident investigations.

GitHub アプリケーションコード全体を分析したり、Issue の起票をするには GitHub MCP Server を使う必要があります。以降では DevOps Agent に GitHub MCP Server を登録していく手順を紹介していきます。

GitHub で OAuth App の作成

はじめに、GitHub で OAuth App を作成します。 “Settings” から “Developer settings” を開き、“OAuth Apps” を選択して、“New OAuth App” を選択します。こちらの URL https://github.com/settings/developers からでも以下の画面までいけるかもしれません。

Create OAuth App

必要な情報を入れていきます。

Configure OAuth App

今回は以下のように入れました。

“Register application” ボタンを押して OAuth App を作成すると、以下の画面が出てきます。“Generate a new client secret” を押して、クライアントシークレットを生成します。

Client IDClient secrets は後で利用するのでメモっておきます。

Generate a new client secret

DevOps Agent で MCP Server の登録

続いて、DevOps Agent 側で MCP Server を登録します(Agent Space の作成などは完了しているとします)。

DevOps Agent の左メニューから “Settings” を選択します。

Open AWS DevOps Agent settings

下の方にある “MCP Server” セクションで、“Register” を選択します。

Register MCP Server

まず Step 1。名前やエンドポイント URL を指定します。私は以下のように設定しました。

Register MCP Server detail 1

続いて Step 2。認証方法について設定します。

Register MCP Server detail 2

“OAuth 3LO” を選択します。“3LO” は Three-Legged OAuth のことだそうです。

続いて Step 3。OAuth の詳細を設定していきます。先ほど GitHub の OAuth App で作成した、Client ID、Client secret をここで設定します。

Register MCP Server detail 3

Step 4 は設定内容の確認です。問題なければ、“Add” を押して MCP Server を登録します。

すると以下のように GitHub 側にリダイレクトされるので “Authorize XXX” を選択します。

Authorize OAuth App

登録が完了すると、“Setting” の “MCP Server” セクションに GitHub MCP Server が登録されていることが確認できます。

Confirm registered MCP Server

Agent Space に MCP Server を追加

今度は Agent Space に MCP Server を追加します。MCP Server を追加したい Agent Space を開きます。

“Capabilities” のタブから “MCP Server” のセクションで “Add” ボタンを選択します。

Add MCP Server

登録した GitHub MCP Server が出てきますので “Add” を選択します。

Select added MCP Server

利用するツールの選択画面が出てきますので必要なツールを選択します。試した範囲ですと ツールは Agent Space あたり 40個までの制限がありそうなので必要なものだけ選択ください (プレビュー期間中ということもあり、今後変更される可能性もあります)。

選択したら “Save” で保存します。

Select tools to use

保存が完了すると、最初の MCP サーバの場合、Webhook の設定が表示されます。二度と表示されなくなるようなので保存しておきます。 (ただ、Webhook は別途作成もできそうなのですが、ここで得られた設定をどこで使うのかはわかりませんでした。。。)

Confirm Webhook configuration

動作確認

今回は API Gateway - Lambda - DynamoDB というシンプルなサーバーレスアプリケーションを CDK で作成し、GitHub のプライベートリポジトリで管理するようにしました。

アプリケーションコードとしてはかなりお粗末ですが、Lambda に以下のような時々エラーになるコードを追加して一定期間リクエストをかけ、CloudWatch アラームで Lambda のエラーレートを監視するようにします。

DevOps Agent が原因を特定し、GitHub にこのバグを修正する内容の Issue が起票できることが期待値です。

if (Math.random() < 0.6) {
  // リクエストのうち 6割ぐらいエラーになるようにする
  throw new Error('Unlucky Error');
}

CloudWatch アラームがアラート状態になったところで、DevOps Agent から調査を開始します。プリセットで用意されている “Latest alarm” ボタンから調査を開始しますが、さらに以下のように追加で、「問題を特定できたら、Issue を起票」するように指示してみます。

If you can identify an issue with the application, please raise an issue to the repository.

Start investigation

今回のデモ用アプリケーション、およびリポジトリではコード差分がない状態 (初期コミット) だったので、標準の GitHub 連携からは問題のコードを特定できないかもしれないところでしたが、DevOps Agent は GitHub リポジトリへのアクセスを試み、リポジトリからファイルを参照してくれました。

Get file content from GitHub

そして、Lambda のアプリケーションコードから問題の箇所を特定してくれました。

Identify root cause

自動で Issue 起票もやってくれると良かったですが、今回は原因を特定したところで調査としては終了してしまいました。

ランブックに定義したりすると Issue 起票までうまく自動化できたかもしれません。

仕方ないので、チャットから Issue を起票するように依頼します。(意図しない他所のパブリックリポジトリに Issue が作成されてしまわないように、Issue の作成先リポジトリは明示的に指定してください!)

Create an issue

Issue も起票してくれました。

Created issue

おまけ : Kiro autonomous agent に Issue を割り当て

Frontier Agents 3兄弟のうちの Kiro autonomous agent を使って、作成された Issue をタスクとして割り当ててみました。

GitHub からは Issue に Kiro ラベルを付与するとエージェントが動き出します。

Assign an issue to Kiro autonomous agent

タスクが完了すると、Pull Request を作成してくれます。

Kiro autonomous agent complete task and pull request

まとめ

AWS DevOps Agent はインシデント調査を AI エージェントがプロアクティブに実行するサービスです。
今回はアプリケーションコードに問題があった場合を想定し、問題コードの特定、Issue の起票を GitHub MCP Server を利用して試してみました。 今回ランブックは使用しませんでしたが、設定することでより自動化や動作確度の向上、Issue テンプレートの適用なんかができそうです。

MCP サーバを通じて AI エージェントから外部に何らかの情報を送る場合は、送信先にご注意ください。思わぬ情報漏洩を招く場合があります。当記事の情報を利用することで生じたいかなる損害についても、筆者は責任を負いかねますので、予めご了承ください。

最後に・・・

この投稿は個人的なものであり、所属組織を代表するものではありません。ご了承ください。