- 公開日
- 最終更新日
AWS MCP Server に OAuth でつないでみた
この記事を共有する
目次
はじめに
先日、AWS MCP Server が OAuth に対応したというアップデートがありました。
AWS MCP サーバーでの OAuth のサポート
私はターミナルで動かすエージェントには AWS CLI のプロファイルを持たせていますが、デスクトップアプリ側には認証情報を置いていませんでした。
認証情報なしで AWS の情報を見られるなら便利そうだと思い、実際に試してみました。
AWS MCP Server とは
Agent Toolkit for AWS が提供する MCP サーバーで、AI エージェントから AWS の情報取得や操作を行えるようにするものです。
以前は用途別に分かれていた MCP サーバーがこの 1 本に統合されています。
接続方法は 2 つあります。
- OAuth:ブラウザで AWS にサインインして認可する。ローカルに認証情報を置かない
- SigV4:ローカルの AWS CLI プロファイルの認証情報で署名する
今回試したのは OAuth の方です。
認証情報を持たない環境から、簡単に AWS の中を確認したいときに向いています。
サービスの詳細は AWS MCP Server の使用を開始する にまとまっています。
設定してみる
IAM ポリシーを付与する
OAuth でサインインするユーザーまたはロールに、以下の AWS 管理ポリシーを付与します。
arn:aws:iam::aws:policy/AWSMCPSignInOAuthAccessPolicy
これが無いとサインイン画面までは進めても認可が通りません。
mcp.json を書く
設定ファイルに MCP サーバーを 1 つ追加するだけです。
{
"mcpServers": {
"aws-mcp": {
"type": "http",
"url": "https://aws-mcp.us-east-1.api.aws/mcp?oauth=initialize"
}
}
}
書くのは transport の種類とエンドポイントの 2 つだけで、認証に関する記述はありません。
アクセスキーもプロファイル名も書かないので、設定ファイルを共有しても秘密情報が漏れません。
サービスの提供リージョンは us-east-1 のみのため、普段使っているリージョンに関わらずこのエンドポイントを指定します。
配置場所はエージェントごとに異なります。
- Kiro:~/.kiro/settings/mcp.json
- Claude Code:~/.claude.json
有効化してサインインする
MCP サーバーを有効化して最初のツール呼び出しを行うと、ブラウザが開いてサインイン画面に遷移します。

すでにブラウザで AWS にサインインしていれば、セッションを選ぶ画面が出ます。
使いたいものを選んで許可すると、そのままエージェント側に戻って使えるようになります。
ここまでで設定は終わりです。
試しにAWS環境のS3バケット一覧を確認すると正しく結果が返ってきました。

使ってみて気づいたこと
OAuth 方式には複数アカウントの切り替えができないという制限があります。
つまり、開発と本番のアカウントなどを行き来したりする使い方には向きません。
そういった用途ではローカルのプロファイルを使う SigV4 方式を選ぶことになります。
逆に、認証情報を置いていない端末から特定のアカウントの中を確認したいだけであれば、OAuth が一番手軽です。
私は用途に応じて、ターミナルのエージェントは SigV4、デスクトップアプリは OAuth という使い分けにしました。
まとめ
AWS MCP Server の OAuth 対応を試してみました。
mcp.json に 2 行書いてブラウザで許可するだけで終わるので、認証情報を配りたくない端末でも AI エージェントから AWS を覗けるようになります。
同じように「見るだけなのに準備が重い」と感じていた方の参考になれば幸いです。
この記事は私が書きました
野間 太一
記事一覧猫とCloudFormationが好きです。