Claude Code × AWS IaC MCP ServerをDockerで動かしてAIが支援するCloudFormation開発を体験する
はじめに
AWSは2025年、「AWS Infrastructure as Code MCP Server」を発表しました。 これは、AI(Claudeなど)が CloudFormationやCDKなどのIaC開発を直接支援する 新しい仕組みです。
この仕組みの中核を担うのが AWS IaC MCP Server。 Anthropicが提唱する Model Context Protocol (MCP) を採用し、Claude CodeのようなAIクライアントが ローカル環境のコンテキストやAWSリソースに安全にアクセスして、IaCコードを生成・補完・レビューできるようになります。
本記事では、Claude CodeをMCPクライアントとして利用し、 Docker上でAWS IaC MCP Serverを動かし、CloudFormationテンプレートをAIに生成してもらうまでの手順を解説します。
AWS MCP Serverとは?
MCP (Model Context Protocol) は、AIモデルが外部ツール・環境・APIに安全にアクセスできるようにするための標準プロトコルです。 Claude CodeやChatGPTなどのAIクライアントは、このMCPを通じて開発環境やクラウドリソースと連携できます。
AWSはこのMCP対応サーバーをいくつか提供しています。代表的なものは以下の通りです。
| サーバー名 | 機能概要 |
|---|---|
| AWS IaC MCP Server | CloudFormation/CDKなどのIaC操作支援 |
| AWS Docs MCP Server | AWSドキュメント参照 |
| AWS Knowledge MCP Server | AWSナレッジベースとの連携 |
| AWS Cloud MCP Server | AWSリソース情報取得や管理 |
今回は、これらの中から AWS IaC MCP Server を取り上げます。
AWS IaC MCP Serverとは?
AWS IaC MCP Serverは、AIにCloudFormation/CDKの生成・検証・変換を行わせるためのサーバーです。
Claude CodeなどのMCP対応クライアントと連携することで、 以下のような自然言語によるIaC支援が可能になります。
CloudFormationで、S3バケットを作ってバージョニングを有効にして。
AIがMCPサーバーを通じてAWS IaCツール群にアクセスし、対応するテンプレートを生成してくれます。
Dockerで動かすAWS IaC MCP Server
ここからは、awslabs/mcp リポジトリのREADMEにある 「Running MCP servers in containers」の手順に基づき、 AWS IaC MCP ServerをDockerで実行する手順を紹介します。
🔧 前提条件
- Docker がインストール済み(Windows / macOS / Linuxいずれも可)
- AWS CLI が設定済み(
aws configure済み) - Claude Code がインストールされている(https://claude.ai/code)
- Python 3.10 推奨(コンテナ内で使用)
🐳 手順1. AWS IaC MCP Serverのコンテナを起動
以下のコマンドを実行して、AWS IaC MCP ServerをDocker上で立ち上げます。
docker run --rm -it \
-e AWS_PROFILE=default \
-e FASTMCP_LOG_LEVEL=ERROR \
-v ~/.aws:/root/.aws \
-p 4000:4000 \
public.ecr.aws/awslabs/aws-iac-mcp-server:latest
ポイント:
-
~/.awsをマウントすることで、ローカルのAWS認証情報を利用できます。 - 環境変数
AWS_PROFILEは使用中のプロファイル名に合わせて変更可能。 - Python 3.10 ベースの公式ビルドが使用されます。
起動が成功すると、以下のようなログが出力されます。
✅ AWS IaC MCP Server listening on port 4000
🧩 手順2. Claude CodeにMCPサーバーを登録
Claude Codeでは、MCPサーバーの接続設定を ~/.claude/mcp.json(またはプロジェクトルートの .mcp.json)に記述します。
設定例(Claude Code向け)
{
"mcpServers": {
"aws-iac-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "AWS_PROFILE=default",
"-e", "FASTMCP_LOG_LEVEL=ERROR",
"-v", "${HOME}/.aws:/root/.aws",
"public.ecr.aws/awslabs/aws-iac-mcp-server:latest"
]
}
}
}
保存したらClaude Codeを再起動し、コマンドパレットで以下を実行します。
/connect aws-iac-mcp-server
接続が成功すると、Claude Codeのコンソールに「Connected to aws-iac-mcp-server」と表示されます。
Claude CodeでIaCを生成してみる
接続が完了したら、Claude Codeのチャット画面で次のように入力してみましょう。
CloudFormationで、S3バケットを作成してバージョニングを有効にしたテンプレートを生成して。
Claude CodeがMCP経由でAWS IaC MCP Serverを呼び出し、以下のテンプレートを生成します。
AWSTemplateFormatVersion: "2010-09-09"
Description: "S3 bucket with versioning enabled"
Resources:
VersionedBucket:
Type: AWS::S3::Bucket
Properties:
VersioningConfiguration:
Status: Enabled
続けて次のように指示することもできます。
このバケットにサーバーアクセスログを追加して。
Claude Codeがテンプレートを拡張し、ログバケットおよび設定を自動で追加してくれます。
IaC運用での活用シナリオ
AWS IaC MCP Serverを導入することで、次のような運用改善が期待できます。
🧱 1. IaCレビューの効率化
Claude CodeがCloudFormationテンプレートを解析し、構文ミスやベストプラクティス逸脱を自動で指摘します。
📘 2. チーム教育・ナレッジ共有
新規メンバーが「この構成をCloudFormationで作りたい」と自然言語で質問すれば、 Claude Codeが即座にテンプレート例を提示してくれます。
🛡️ 3. セキュリティ標準の自動適用
組織のIaCポリシー(暗号化・ログ有効化など)をClaude Codeが提案・自動修正できるようになります。
まとめ
AWS IaC MCP Serverは、AIがInfrastructure as Code開発を手伝う時代を象徴する新しいアプローチです。 Dockerを利用すれば、環境構築はたった1コマンドで完了します。 Claude Codeと組み合わせることで、自然言語から直接CloudFormationテンプレートを生成・修正できるようになり、 IaCの生産性と品質を同時に高めることができます。
今後の展望
- AWS公式による他MCPサーバー(Docs, Knowledgeなど)との統合
- TerraformなどIaCツール全般への適用拡大
- Claude Code / ChatGPTなど複数クライアントのマルチ接続サポート
🏷️ タグ
AWS CloudFormation Claude MCP Infrastructure-as-Code