🚀 BinadoxによるTerraform MCPサーバー
Terraform用のMCPサーバー は、Terraformの設定に対して自動的に検証、セキュリティ対策を行い、クラウドコストを見積もります。Binadoxによって開発され、任意のModel Context Protocol (MCP)クライアント(例:Claude Desktopやその他のMCP互換AIアシスタント)と統合できます。
🚀 クイックスタート
このサーバーを使用することで、大規模言語モデル(LLM)が安全にTerraformインフラストラクチャコードを生成できます。デプロイ前にコスト見積もりとセキュリティチェックが行われ、より完全で安全なコードを得ることができます。
✨ 主な機能
- コードの検証と補完 – Terraformのスニペットを処理し、実行可能な設定のために欠落している部分(プロバイダー、バージョン、変数)を埋めます。
- セキュリティ分析 – 生成されたコード内の一般的な誤設定や不安全なデフォルト設定(開いたポート、暗号化の欠如など)を検出します。
- コスト見積もり – 実際の価格データを使用して、提案されたリソースの月額クラウドコスト内訳を計算します。
- ファイルの整理 – 出力を論理的なTerraformファイル/モジュールに整理します(例:リソースをモジュールにグループ化し、必要に応じて
terraform.tfvarsを追加します)。 - 簡単な統合 – 任意のMCP互換クライアント(Claude Desktopでテスト済み)と連携し、AI駆動のワークフローでシームレスに使用できます。
📦 インストール
binadox-terraform-mcpをインストールするには、リポジトリをクローンしてGoでバイナリをビルドします。次に、実行可能ファイルのパスをClaude Desktopの設定ファイルclaude_desktop_config.jsonのmcpServersセクションに追加し、Binadox APIのURLとトークンを含めます。最後に、Claude Desktopを再起動して変更を適用し、Terraform MCPサーバーを使用できるようにします。
- クローンとビルド:
git clone https://github.com/binadox/binadox-terraform-mcp
cd binadox-terraform-mcp
go build -o terraform-mcp-server *.go
- MCPクライアントの設定 (例: Claude Desktop)
# Claude Desktopの設定に追加
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"terraform": {
"command": "/path/to/terraform-mcp-server",
"env": {
"TERRAFORM_ANALYSIS_URL": "https://app.binadox.com/api/1/organizations/pricing/terraform/mcp",
"TERRAFORM_ANALYSIS_TOKEN": "your-token"
}
}
}
}
- MCPクライアントを再起動 して設定を適用します。
💻 使用例
基本的な使用法
追加のCLIコマンドは必要ありません。インストールと設定が完了すると、サーバーはバックグラウンドで動作して以下のことを行います。
prepare_terraformを介してTerraformコードの検証と補完analyze_terraformを介して誤設定の分析calculate_costを介してクラウドコストの見積もり
すべての出力ファイルは/tmp/terraform/<timestamp>に書き込まれ、必要に応じて圧縮されます。
高度な使用法
コスト超過防止
User: Generate terraform for a simple demo environment
Cost Analysis: $1,847/month
- m5.2xlarge instances
- Multi-AZ RDS
- NAT Gateways in 3 AZs
セキュリティ誤設定検出
User: Create an RDS database with a security group
Security Analysis:
- 0.0.0.0/0 open access
- No encryption at rest
- 1-day backup retention
不完全な設定の補完
User: Add resource "aws_s3_bucket" "data" { bucket = "my-data" }
Without MCP: Fails – no provider block
With MCP: Adds provider, variables, and metadata – configuration runs
📚 ドキュメント
- アーキテクチャ - 技術的な詳細
- 使用例 - 一般的なプロンプトとパターン
- テスト - テストシナリオ
- デプロイメント - 本番環境のセットアップ
🔧 技術詳細
互換性と要件
| コンポーネント | サポート/テスト済みのバージョン |
|---|---|
| Go | 1.22+ |
| Terraform CLI | 1.6+ |
| クラウド | AWS (完全: コスト + チェック), Azure & GCP (コストのみ、チェックは今後の予定) |
| MCPクライアント | Claude Desktop (テスト済み), その他のMCP互換クライアント |
前提条件
- Goツールチェーン (ソースからビルドする場合)
- Terraform CLI 1.6+ がインストールされている
- 有効な Binadox APIトークン
- Binadoxの価格APIへのインターネットアクセス
/tmp/terraform/...への書き込みアクセス
API要件
コスト分析にはBinadox APIトークンが必要です。BinadoxはAWS、Azure、GCPを通じたリアルタイムのクラウド価格データを提供します。Binadoxでトークンを取得してください。
セキュリティとプライバシー
サーバーはローカルで実行され、クラウドの資格情報にアクセスすることはありません。
- ファイルは
/tmp/terraform/に保存され、外部に送信されることはありません。 - Binadoxトークンを使用してリモートでコストデータのみが要求されます。
- テレメトリや分析データは収集されません。
📄 ライセンス
Apache 2.0








