mcpField
M
MCP Infrastructure as Code Assistant

MCP Infrastructure as Code Assistant

ローカル
github.com/guilhermeyoshidaクラウド・インフラ181 週間前に更新

MCP Infrastructure as Code Assistant について

MCP Infrastructure as Code Assistantは、Terraformインフラを管理するMCPサーバーです。Terraformの作業ディレクトリ、実行計画、設定、状態、ワークスペースを扱うチーム向けです。

主な機能

  1. 01Terraform作業ディレクトリの初期化
  2. 02実行計画の生成と確認
  3. 03インフラの適用または破棄
  4. 04設定の検証と状態の確認
  5. 05Terraformワークスペースの管理

活用シーン

  1. 01Terraformプロジェクトの初期化
  2. 02変更適用前の計画確認
  3. 03設定の検証と現在の状態確認
  4. 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(任意)

インストール

ローカルインストール
  1. リポジトリをクローンします:

    git clone https://github.com/yourusername/mcp-iac.git
    cd mcp-iac
    
  2. uv を使用して依存関係をインストールします:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    uv pip install -e .
    
Docker でのインストール
  1. リポジトリをクローンします:

    git clone https://github.com/yourusername/mcp-iac.git
    cd mcp-iac
    
  2. Docker コンテナをビルドして実行します:

    docker-compose up -d
    

使用方法

ローカルでの使用
  1. MCP サーバーを起動します:

    python main.py
    
  2. MCP CLI を使用してサーバーとやり取りします:

    mcp terraform_init --working-dir ./terraform
    mcp terraform_plan --working-dir ./terraform
    mcp terraform_apply --working-dir ./terraform --auto-approve
    
Docker での使用
  1. MCP サーバーを起動します:

    docker-compose up -d
    
  2. 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
  }
}

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更をコミットします
  4. ブランチにプッシュします
  5. 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 サーバーを使用する方法の例を紹介します:

  1. MCP サーバーを起動します:

    python main.py
    
  2. MCP クライアントを使用してサーバーに接続します:

    mcp connect http://localhost:8000
    
  3. これで、AI エージェントが Terraform の操作を支援できるようになります。例:

    • Terraform の作業ディレクトリを初期化する
    • 実行プランを生成してレビューする
    • インフラストラクチャに変更を適用する
    • インフラストラクチャのリソースを破棄する
    • Terraform の設定を検証する

例

MCP サーバーの使用方法を示す Terraform 設定のサンプルについては、examples ディレクトリを確認してください:

  • examples/aws-s3:シンプルな AWS S3 バケットの例

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。