1
1

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 Terraform MCP ServerをClaude Desktopから利用してみた

Posted at

AWS Terraform MCP Serverとは

公式から引用すると、「AWSのベストプラクティス、Infrastructure as Codeパターン、CheckovによるセキュリティコンプライアンスのためのTerraform用MCPサーバー」とのこと。

引用:https://awslabs.github.io/mcp/servers/terraform-mcp-server/

何ができるか?

主に次のような特徴があります。
Terraformのベストプラクティスに基づいてより良いAWS環境の構築に役立ちそうです。ドキュメントだけではなく、実際にTerraformコマンドを実行することもできそうです。他にも特徴が公式ドキュメントに記載されているので是非ご一読ください。

  • Terraform のベストプラクティス- AWS 上でアプリケーションを構築するための Terraform の具体的なアドバイスを入手
  • Terraform 構成に関する AWS Well-Architected ガイダンス
  • セキュリティとコンプライアンスに関する推奨事項
  • セキュリティファースト開発ワークフロー- 安全なコードを作成するための構造化されたプロセスに従う
  • AWS プロバイダードキュメント- AWS および AWSCC プロバイダーのリソースを検索
  • Terraform ワークフロー実行- Terraform コマンドを直接実行します

AWS Terraform MCP ServerをClaude Desktopから利用する方法

Claude DesktopでAWS Terraform MCP Serverを利用する方法、セットアップ方法を記載します。併せてAWS Documentation MCP Serverも同時に設定します。

前提条件

インストール要件

手順1. AstralまたはGitHubのREADMEからuvをインストールする

PS C:\> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Downloading uv 0.6.14 (x86_64-pc-windows-msvc)
Installing to C:\Users\UserName\.local\bin
  uv.exe
  uvx.exe
everything's installed!

To add C:\Users\UserName\.local\bin to your PATH, either restart your shell or run:

    set Path=C:\Users\UserName\.local\bin;%Path%   (cmd)
    $env:Path = "C:\Users\UserName\.local\bin;$env:Path"   (powershell)

手順2. パスを追加する

PS C:\> $env:Path = "C:\Users\UserName\.local\bin;$env:Path"
PS C:\> uv --version
uv 0.6.14 (a4cec56dc 2025-04-09)

手順3. uv python install 3.10を使ってPythonをインストールする。(またはより新しいバージョン)をインストールします。

PS C:\> uv python install 3.10
Installed Python 3.10.17 in 6.43s
 + cpython-3.10.17-windows-x86_64-none

Claude Desktopでの設定

AWS Documentation MCP Serverの手順に記載のとおり、Claudeの設定ファイルにMCP設定用のコードを追加します。

このMCPサーバーをAmazon QまたはClaudeに追加するには、MCP設定ファイルに以下の行を追加してください。Amazon Qの場合は、.amazonq/mcp.jsonを実行しているディレクトリと同じディレクトリにという名前のファイルを作成します(まだ存在しない場合) q chat。そして、以下の設定行を追加してください。
https://awslabs.github.io/mcp/servers/aws-documentation-mcp-server/

Claudeの場合

左上の三 > ファイル > 設定

image.png

開発者タブ > 設定を編集
image.png

claude_desktop_config.jsonを開き(C:\Users\UserName\AppData\Roaming\Claude)以下を記入します。

{
  "mcpServers": {
		"awslabs.aws-documentation-mcp-server": {
			"command": "/Users/UserName/.local/bin/uvx",
			"args": [
				"--from",
				"awslabs-aws-documentation-mcp-server",
				"awslabs.aws-documentation-mcp-server.exe"
			],
			"env": {
				"FASTMCP_LOG_LEVEL": "ERROR"
			},
			"disabled": false,
			"autoApprove": []
		},
		"awslabs.terraform-mcp-server": {
			"command": "/Users/UserName/.local/bin/uvx",
			"args": [
				"--from",
				"awslabs-terraform-mcp-server",
				"awslabs.terraform-mcp-server.exe"
			],
			"env": {
				"FASTMCP_LOG_LEVEL": "ERROR",
				"PYTHONUTF8": "1"
			},
			"disabled": false,
			"autoApprove": []
		}
  }
}

terraform-mcp-serverについて、環境変数に"PYTHONUTF8": "1”を追加しないと正常に使用できない。

エラーログをClaudeに調査してもらったところ、以下のエラーが発生していた。

エラータイプ: UnicodeDecodeError
詳細内容: 'cp932' codec can't decode byte 0xef in position 566: illegal multibyte sequence

このエラーは、文字エンコーディングの問題を示しています。cp932(日本語Windows環境でよく使われるエンコーディング)が、ファイル内のバイトシーケンスを正しくデコードできていません。

Claude Desktopでのエラー内容

image.png

AWS Documentation MCP Server やAWS Terraform MCP Serverのドキュメントでは args に "awslabs.terraform-mcp-server@latest” と指定していますが、Windows 環境では書き方が異なるらしいです。

その点に触れられている記事はこちらです。
https://qiita.com/revsystem/items/1e4c738ecaeacb7f133d

左上の三 > ファイル > 終了からClaudeを終了し、再度開きます。

image.png

これで設定は完了です。次はきちんと設定ができているか確認し、実際に使ってみます。

実際に使ってみる

使用前確認

使用前にきちんと設定ができているか確認します。

awslabs.terraform-mcp-serverとの接続確認

image.png

awslabs.aws-documentation-mcp-serverとの接続も確認

image.png

使用してみる

「“awslabs.terraform-mcp-server”からのツールを許可しますか?」との表示がでており、正常に利用できる状態となっていることがわかります。

image.png

感想

Terraformを使用してAWS環境を構築する場合はとても役立ちそうだと思いました。AWS Terraform MCP ServerとAWS Documentation MCP Serverを組み合わせて利用することで、AWS・Terraformどちらのベストプラクティスも踏まえたTerraformコード、AWS環境が構築できそうです。

今回は実際にTerraformコマンドを実行してもらってはいないですが、次はTerraformコマンドを実行してもらうところまでやってみようと思います。

参考URL

AWS Terraform MCP Server

AWS Documentation MCP Server

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?