Terraform MCP Serverとは
Model Context Protocol(MCP)を使って、AIエージェントがTerraformエコシステムと連携するためのサーバーです。Claude CodeなどのMCP対応ツールから、Terraform Registryの最新プロバイダー/モジュール情報にリアルタイムアクセスできます。
現在のステータスはベータ版。本番環境での利用は非推奨です。
v0.4.0で何が変わったか
| 項目 | 内容 |
|---|---|
| バージョン | v0.4.0 |
| リリース日 | 2025-01-22 |
| 主な追加 | Stacksサポート(list_stacks, get_stack_details)、ポリシーセット管理、toolsフラグ |
使えるツール
認証なしで使えるRegistryツールがこのあたり。
| ツール名 | 説明 |
|---|---|
search_providers |
プロバイダーをサービス名で検索 |
get_provider_details |
プロバイダーの完全ドキュメント取得 |
get_latest_provider_version |
プロバイダーの最新バージョン取得 |
search_modules |
モジュール名・機能で検索 |
get_module_details |
モジュールの詳細情報取得 |
get_latest_module_version |
モジュールの最新バージョン取得 |
search_policies |
Sentinelポリシー検索 |
get_policy_details |
ポリシーの詳細ドキュメント取得 |
Terraform Cloud/Enterprise連携用のツール(ワークスペース管理、実行操作、Stacks管理など22種類以上)もありますが、こっちは TFE_TOKEN が必要です。
toolsフラグで選択的に有効化(v0.4.0新機能)
全ツールを有効にする必要はなくて、用途に応じて絞れます。
| 用途 | toolsetフラグ | 備考 |
|---|---|---|
| 公開Registryのみ検索 | --toolset=registry |
認証不要。軽量 |
| TFE/TFCプライベートRegistry | --toolset=registry-private |
TFE_TOKEN 必須 |
| TFE/TFC実行操作(plan/apply) | --toolset=terraform-operations |
TFE_TOKEN 必須 |
ツール名で個別指定もできます。
--tools=search_providers,get_module_details
Claude Codeへの設定手順
Docker(推奨)
.claude/mcp.json または ~/.claude.json の mcpServers に追加します。
公開Registryのみ(認証不要):
{ "mcpServers": { "terraform": { "command": "docker", "args": [ "run", "-i", "--rm", "hashicorp/terraform-mcp-server:v0.4.0", "--toolset=registry" ] } } }
HCP Terraform / TFE連携ありの場合:
{ "mcpServers": { "terraform": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "TFE_ADDRESS=https://app.terraform.io", "-e", "TFE_TOKEN", "hashicorp/terraform-mcp-server:v0.4.0" ] } } }
-e TFE_TOKEN(値なし)は、シェルの環境変数 TFE_TOKEN をコンテナに引き渡すDockerの標準構文です。-e TFE_TOKEN=<値> のようにmcp.jsonにトークンを直接書くのは絶対やめてください。
事前にシェル側で環境変数をセットしておく必要があります。
# direnvの場合 export TFE_TOKEN="$(op read 'op://vault/hcp-terraform/token')" # シェル直接の場合(一時的な利用のみ) export TFE_TOKEN="tfp-xxxx..."
バイナリ直接実行
Dockerが使えない環境ならバイナリでも動きます。
# リリースページからダウンロード # https://releases.hashicorp.com/terraform-mcp-server chmod +x terraform-mcp-server sudo mv terraform-mcp-server /usr/local/bin/
{ "mcpServers": { "terraform": { "command": "/usr/local/bin/terraform-mcp-server", "args": ["--toolset=registry"] } } }
HashiCorp Agent Skills
Terraform MCP Serverと合わせて使えるClaude Code向けスキル集も出ています。HCLコード生成やモジュールリファクタリングなどが含まれています。
| スキル | 説明 |
|---|---|
terraform-code-generation |
HashiCorpスタイルのHCLコード生成 |
terraform-module-generation |
モジュール開発・リファクタリング |
terraform-provider-development |
プロバイダー開発支援 |
packer-builders |
マシンイメージ構築 |
packer-hcp |
HCP Packerレジストリ統合 |
インストール方法や利用可能なスキルの詳細は GitHubリポジトリ を確認してください。
注意点
- ベータ版のため、ツール仕様が予告なく変更される可能性があります
- 本番TFE/TFCに接続する場合は、読み取り専用トークンでの検証を推奨
TFE_TOKENは環境変数で渡す。mcp.jsonにハードコードしない- ローカルホスト(127.0.0.1)での実行を推奨
まとめ
Terraform MCP Serverを入れると、Claude Codeの中からプロバイダーやモジュールの最新ドキュメントを直接参照できます。HCL書くときにRegistryのページを行ったり来たりしなくてよくなるのが地味に便利。
Stacksサポートが入ったので、TFC/TFE使ってる人はそっちも試す価値あり。ただしベータ版なので、本番環境への接続は様子見が無難です。
参考
- Terraform MCP Server概要 — HashiCorp公式ドキュメント
- デプロイ手順 — セットアップの公式ガイド
- GitHubリポジトリ — ソースコードとリリースノート
- HashiCorp Agent Skills — Claude Code向けスキル集
- Terraform MCP Server更新ブログ — v0.4.0の公式アナウンス