MCP Infrastructure as Code Assistant について
MCP Infrastructure as Code Assistantは、Terraformインフラを管理するMCPサーバーです。Terraformの作業ディレクトリ、実行計画、設定、状態、ワークスペースを扱うチーム向けです。
主な機能
- 01Terraform作業ディレクトリの初期化
- 02実行計画の生成と確認
- 03インフラの適用または破棄
- 04設定の検証と状態の確認
- 05Terraformワークスペースの管理
活用シーン
- 01Terraformプロジェクトの初期化
- 02変更適用前の計画確認
- 03設定の検証と現在の状態確認
- 04Terraformワークスペースの切り替え
MCP 対応
MCPクライアントに、初期化、計画、適用、検証、ワークスペース管理などのTerraform操作ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Infrastructure as Code Assistant
Terraform を使用して Infrastructure as Code を管理する MCP サーバーです。
機能
- Terraform の作業ディレクトリを初期化します
- 実行プランを生成して表示します
- インフラストラクチャに変更を適用します
- インフラストラクチャを破棄します
- Terraform の設定を検証します
- 現在の状態または保存済みのプランを表示します
- Terraform のワークスペースを管理します
前提条件
- Python 3.8 以降
- Terraform 1.5.7 以降
- Docker と Docker Compose(任意)
インストール
ローカルインストール
-
リポジトリをクローンします:
git clone https://github.com/yourusername/mcp-iac.git cd mcp-iac -
uv を使用して依存関係をインストールします:
curl -LsSf https://astral.sh/uv/install.sh | sh uv pip install -e .
Docker でのインストール
-
リポジトリをクローンします:
git clone https://github.com/yourusername/mcp-iac.git cd mcp-iac -
Docker コンテナをビルドして実行します:
docker-compose up -d
使用方法
ローカルでの使用
-
MCP サーバーを起動します:
python main.py -
MCP CLI を使用してサーバーとやり取りします:
mcp terraform_init --working-dir ./terraform mcp terraform_plan --working-dir ./terraform mcp terraform_apply --working-dir ./terraform --auto-approve
Docker での使用
-
MCP サーバーを起動します:
docker-compose up -d -
MCP CLI を使用してサーバーとやり取りします:
mcp terraform_init --working-dir ./terraform mcp terraform_plan --working-dir ./terraform mcp terraform_apply --working-dir ./terraform --auto-approve
Terraform 設定の例
このリポジトリには、AWS に EC2 インスタンスを作成する Terraform 設定の例が含まれています:
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
provider "aws" {
region = var.region
}
resource "aws_instance" "example" {
ami = var.ami_id
instance_type = var.instance_type
tags = {
Name = var.instance_name
}
}
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更をコミットします
- ブランチにプッシュします
- Pull Request を作成します
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルを参照してください。
利用可能なツール
terraform_init:Terraform の作業ディレクトリを初期化しますterraform_plan:Terraform の実行プランを生成して表示しますterraform_apply:希望する状態に到達するために必要な変更を適用しますterraform_destroy:Terraform で管理されているインフラストラクチャを破棄しますterraform_validate:Terraform ファイルの構文と内部整合性を検証しますterraform_show:現在の状態または保存済みのプランを表示しますterraform_workspace_list:Terraform のワークスペースを一覧表示しますterraform_workspace_select:Terraform のワークスペースを選択します
使用例
AI エージェントと MCP サーバーを使用する方法の例を紹介します:
-
MCP サーバーを起動します:
python main.py -
MCP クライアントを使用してサーバーに接続します:
mcp connect http://localhost:8000 -
これで、AI エージェントが Terraform の操作を支援できるようになります。例:
- Terraform の作業ディレクトリを初期化する
- 実行プランを生成してレビューする
- インフラストラクチャに変更を適用する
- インフラストラクチャのリソースを破棄する
- Terraform の設定を検証する
例
MCP サーバーの使用方法を示す Terraform 設定のサンプルについては、examples ディレクトリを確認してください:
examples/aws-s3:シンプルな AWS S3 バケットの例
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。