4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS MCP Server が GA になったのでGithub Copilot cloud agentから利用してみる

4
Posted at

AWS MCP Serverのドキュメントを見ても、KiroやClaudeCodeとかしか方法が載っていないので、まとめてみます

いきなり結論

  • copilot-setup-steps.ymlを作成し、aws-actions/configure-aws-credentialsからAWSの認証情報を取得する

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

name: "Copilot Setup Steps"
on:
  workflow_dispatch:

permissions:
  id-token: write
  contents: read

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest
    steps:
      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@d4a9acd8d3a85678bd2eb9e0a2225949c8ce00f0 # v6.1.1
        with:
          role-to-assume: ${{ secrets.AWS_ROLE_ARN }} 
          aws-region: ap-northeast-1                 
  • MCP configurationに以下を設定
{ 
  "mcpServers": {
    "aws-mcp-proxy": {
      "type": "local",
      "command": "uvx",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://aws-mcp.us-east-1.api.aws/mcp",
        "--metadata", "AWS_REGION=ap-northeast-1"
      ],
      "tools": ["*"]
    }
  }
}

AWS MCP Server とは

2026年5月にGAとなったAWSのMCPサーバーです。
これまでは、サービスごとのMCPサーバーをリリースしていましたが、それを統合したものです。
実際の処理を行うサーバーはAWS側にあり、クライアントにはproxyのみを置く構成になっているのが特徴です。

実際にリポジトリの方の名前もmcp-proxy-for-awsであり、これまでのMCPサーバーとの違いが分かります

Github Copilot cloud agentからAWS MCP Server を使いたい

大きく2つの対応が必要です

  • MCPサーバーの設定
  • AWS認証情報の設定

Github Copilot cloud agentとは

  • github のWebページからアクセスできるAgentです
  • Github Issueから直接Copilot Agentにコーディングをさせる場合もこちらの仕組みが使われます。

業務ではSlack上でコミュニケーションを行い、そこからGithubのSlack AppからIssueを直接作成➡Issueから直接Copilot AgentにPR作成を依頼、という流れをよく行うので、ここからMCPサーバーを使用できるようにしたいなーと思っていました。

image.png

MCPサーバーを使うには

リポジトリのSettingsからMCP configurationを設定することが可能です。
https://github.com/{repo}/settings/copilot/coding_agent

記載内容としては、Claude Desktopとかと同じ感じです

詳しくは以下ドキュメントをご確認ください

実際の設定

{ 
  "mcpServers": {
    "aws-mcp-proxy": {
      "type": "local",
      "command": "uvx",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://aws-mcp.us-east-1.api.aws/mcp",
        "--metadata", "AWS_REGION=ap-northeast-1"
      ],
      "tools": ["*"]
    }
  }
}

これだけで、Agentの実行時に自動で有効化して使用してくれます
また、AIとかに聞くと、uvのインストールが別途必要と言ってたりもしましたが、実際にはAgent実行時によろしくインストールしてくれるので、こちらの対応は不要です

AWSの認証情報を取得する

AWS MCP Serverの動作にはAWSの認証情報が必要です。なのでAgent側には認証情報を渡す必要があります。

もちろんSecretなどでIAMユーザーのアクセスキーを設定することもできますが、、できればIAM Roleでやりたいですよね。

しかもせっかくGithubからならばOIDCでの認証取得で行きたい。

Agentの起動時にカスタムの処理を実行する

.github/workflows/copilot-setup-steps.ymlを作成することで、Agentの起動時にworkflowの処理を実行することが可能です。

なので、ここでaws-actions/configure-aws-credentialsを使用することで、OIDCでの認証情報取得を行います

(OIDCについては以下参考)

name: "Copilot Setup Steps"
on:
  workflow_dispatch:

permissions:
  id-token: write
  contents: read

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest
    steps:
      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@d4a9acd8d3a85678bd2eb9e0a2225949c8ce00f0 # v6.1.1
        with:
          role-to-assume: ${{ secrets.AWS_ROLE_ARN }} 
          aws-region: ap-northeast-1                 

secrets.AWS_ROLE_ARNについては、あらかじめリポジトリのSettingsからSecretとして設定しておきましょう。
※通常のGithub ActionsとAgentではSecret設定が別なことに注意
https://github.com/{repo}/settings/secrets/agents

動作確認

さて、実際にAWS MCP Server が動作しているのかを確認してみましょう。
今回は、起動しているEC2・RDSインスタンスが無いかを調べてもらいます。

Setting up environmentの段階で、Configure AWS Credentialsが実行されていること、Start 'aws-mcp-proxy' MCP serverが実施されていることが分かります

image.png

指示に基づいてMCPサーバーが動作し、AWSアカウントへのEC2・RDSリソースの調査が行われていることを確認できます

image.png

最終的に該当リソースが無いことがわかったため、それを回答として提示しています。

image.png

この処理ではaws___call_awsだけの動作でしたが、プロンプト次第で適切なものを実行してくれます。

Github Copilot cloud agentでAWS MCP Server を使うメリット

  • ローカルの設定に依存せず、組織全体で共通の基盤を使える

MCPサーバーの特性上、どうしてもローカルへのインストールが必要です。となると、いわゆる「おま環」の問題が付きまといます

そこを排除できるというのはシンプルながらうれしいポイントです。

  • AWSのエンドポイントを許可する必要がない

Copilot cloud agentはデフォルトではInternet accessを制限しています。

そのため、Agentから直接AWS APIを実行する場合、Custom allowlistを編集してエンドポイントを許可する必要があります。
AWSのエンドポイントはサービスごと、リージョンごとに分かれているので、厳密にやる場合は管理が大変です。

AWS MCP Serverはproxyサーバー経由なので、こういった許可が不要でAPI実行を行えます。

まとめ

Github Copilot cloud agentからAWS MCP Serverを利用する方法について説明しました。
AWS MCP Server自体は、やはりローカルから使用する用途がメインとは思いますが、このような経路から使えるようになることで、より活用を進めていけるかなと思っています

4
0
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
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?