AWS が公開している MCP Server 群は以下。 awslabs.github.io
今回は Claude Code が参照できるように設定追加を行う。
MCP Server が設定されているかを確認するコマンドは以下。
> /mcp ⎿ No MCP servers configured. Run `claude mcp` to learn about how to configure MCP servers.
上記メッセージにあるように claude mcp コマンドを実行するとよさそうだ。
$ claude mcp --help Usage: claude mcp [options] [command] Configure and manage MCP servers Options: -h, --help Display help for command Commands: serve [options] Start the Claude Code MCP server add [options] <name> <commandOrUrl> [args...] Add a server remove [options] <name> Remove an MCP server list List configured MCP servers get <name> Get details about an MCP server add-json [options] <name> <json> Add an MCP server (stdio or SSE) with a JSON string add-from-claude-desktop [options] Import MCP servers from Claude Desktop (Mac and WSL only) reset-project-choices Reset all approved and rejected project-scoped (.mcp.json) servers within this project help [command] display help for command
add を使うのがシンプルなようだが、https://awslabs.github.io/mcp/ にて公開されている JSON をリスペクトするために add-json を使うのがよさそうだ。
無邪気に以下のようにしてみる。
$ claude mcp add-json awslabs.aws-documentation-mcp-server '{
"mcpServers": {
"awslabs.aws-documentation-mcp-server": {
"command": "uvx",
"args": ["awslabs.aws-documentation-mcp-server@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"AWS_DOCUMENTATION_PARTITION": "aws"
},
"disabled": false,
"autoApprove": []
}
}
}'
Invalid name awslabs.aws-documentation-mcp-server. Names can only contain letters, numbers, hyphens, and underscores.
名前に . があると怒られる。 . を削除する。
$ claude mcp add-json aws-documentation-mcp-server '{
"mcpServers": {
"awslabs.aws-documentation-mcp-server": {
"command": "uvx",
"args": ["awslabs.aws-documentation-mcp-server@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"AWS_DOCUMENTATION_PARTITION": "aws"
},
"disabled": false,
"autoApprove": []
}
}
}'
Invalid configuration: : Invalid input
ダメそう。色々試してみると command の箇所からだけでよさそうだった。
$ claude mcp add-json aws_documentation_server '{"command": "uvx", "args": ["awslabs.terraform-mcp-server@latest"], "env": {"FASTMCP_LOG_LEVEL": "ERROR", "AWS_DOCUMENTATION_PARTITION": "aws"}, "disabled": false, "autoApprove": []}'
Added stdio MCP server aws_documentation_server to local config
Claude に入って /mcp すると追加されていることが確認できる。

awslabs.terraform-mcp-server@latest を追加したので、 MCP Server を参照した回答になるのか試す。
terraform で S3 を実装するうえでのベストプラクティスを教えて下さい。
初手で参照してくれている模様。

結果は以下。
● TerraformでS3を実装する際のベストプラクティスは以下の通りです:
リソース分離
- aws_s3_bucketは基本のバケット作成のみに使用
- 個別設定は専用リソースで管理:
- aws_s3_bucket_versioning でバージョニング
- aws_s3_bucket_server_side_encryption_configuration で暗号化
- aws_s3_bucket_acl でアクセス制御
- aws_s3_bucket_policy でバケットポリシー
セキュリティ
- デフォルトでプライベートアクセス設定
- KMS暗号化を有効化(aws:kmsまたはAES256)
- バージョニングを有効化してデータ保護
- 適切なIAMポリシーとバケットポリシー設定
命名規則
- 小文字のみ使用(63文字以内)
- bucket_prefixでユニーク名を自動生成
- 一貫性のあるタグ付け
ライフサイクル管理
- aws_s3_bucket_lifecycle_configurationでコスト最適化
- 古いバージョンの自動削除設定
- ストレージクラス遷移(IA、Glacierなど)
その他
- force_destroy = trueは慎重に使用(データ完全削除)
- CORSやロギングは専用リソースで設定
- プロバイダーのdefault_tags活用で統一的なタグ管理