mcpField
G
GCP Terraform MCP Server

GCP Terraform MCP Server

ローカル
github.com/Kamalesh-Seerviクラウド・インフラ177 週間前に更新

GCP Terraform MCP Server について

GCP Terraform MCP Serverは、GCP上でTerraformインフラを構築するチームに、ガイダンスやモジュール分析、セキュリティチェックを提供します。TerraformのワークフローにCheckovスキャンとGCPプロバイダーのドキュメントを組み合わせています。

主な機能

  1. 01GCP Terraformのベストプラクティス案内
  2. 02Checkovによるセキュリティスキャンと修正
  3. 03GCPプロバイダーのリソースドキュメント
  4. 04Terraform Registryモジュールの分析
  5. 05Terraformの初期化・計画・検証・適用・破棄
  6. 06GenAIモジュールテンプレート

活用シーン

  1. 01GCP向けTerraform設定の設計
  2. 02インフラコードのセキュリティ問題のスキャン
  3. 03Registryモジュールの入力と依存関係の確認
  4. 04プロジェクトの検証やデプロイ手順の実行

MCP 対応

このMCPサーバーは、Terraformワークフロー、Checkov、GCPドキュメント、モジュール分析、GenAIモジュールのツールとガイダンスリソースをMCPクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

GCP Terraform MCP サーバー

GCP における Terraform のベストプラクティス、Infrastructure as Code のパターン、Checkov によるセキュリティコンプライアンスに対応する MCP サーバーです。

機能

  • Terraform のベストプラクティス - GCP 上でアプリケーションを構築するための具体的な Terraform のアドバイスを取得します

    • Terraform の設定に関する GCP アーキテクチャのガイダンス
    • セキュリティとコンプライアンスに関する推奨事項
    • GCP プロバイダーの設定に関するベストプラクティス
  • セキュリティ優先の開発ワークフロー - セキュアなコードを作成するための体系的なプロセスに従います

    • 検証とセキュリティスキャンの手順ごとのガイダンス
    • 開発の適切な段階で Checkov を統合
    • AI による支援と開発者によるデプロイの明確な引き継ぎポイント
  • Checkov の統合 - Checkov によるセキュリティおよびコンプライアンスのスキャンに対応します

    • Terraform コードのセキュリティスキャンを実行し、脆弱性を特定
    • 可能な場合は、特定されたセキュリティ問題を自動修正
    • コンプライアンス上の問題に対する詳細な修正ガイダンスを取得
  • GCP プロバイダーのドキュメント - Google Cloud プロバイダーのリソースを検索します

    • 特定のリソースや属性のドキュメントを検索
    • コード例と実装ガイダンスを取得
    • GCP サービスの設定に関するベストプラクティスにアクセス
  • GCP GenAI モジュール - AI/ML ワークロード向けの専用モジュールにアクセスします

    • 生成 AI アプリケーション向けの Vertex AI モジュール
    • データストレージ機能向けの BigQuery と BigTable
    • サーバーレスワークロード向けの Cloud Functions
    • AI ワークロードのオーケストレーション向けの Google Kubernetes Engine
  • Terraform Registry モジュールの分析 - Terraform Registry モジュールを分析します

    • URL または識別子でモジュールを検索
    • 入力変数、出力変数、README の内容を抽出
    • モジュールの使用方法と設定オプションを把握
    • モジュールの構造と依存関係を分析
  • Terraform ワークフローの実行 - Terraform コマンドを直接実行します

    • 初期化、計画、検証、適用、破棄の各操作
    • 変数の受け渡しと GCP リージョンの指定
    • 分析用に整形されたコマンド出力を取得

ツールとリソース

  • Terraform 開発ワークフロー:terraform://workflow_guide を通じて、セキュリティを重視した開発プロセスに従います
  • GCP のベストプラクティス:terraform://gcp_best_practices を通じて、GCP 固有のガイダンスにアクセスします
  • GCP プロバイダーのリソース:terraform://gcp_provider_resources_listing を通じて、リソース一覧にアクセスします

前提条件

  1. Astral または GitHub README から uv をインストールします
  2. uv python install 3.10 を使用して Python をインストールします
  3. ワークフローを実行するために Terraform CLI をインストールします
  4. セキュリティスキャン用に Checkov をインストールします
  5. GCP 認証を設定します(gcloud CLI を推奨)

インストール

FastMCP のインストール

FastMCP のインストールと管理には uv の使用を推奨します。

uv add fastmcp

または、pip か uv pip で直接インストールします。

uv pip install fastmcp
# or
pip install fastmcp
FastMCP のインストール(models サポート付き)

FastMCP の PyPI リリースには、CLI が必要とする fastmcp.models サブモジュールが含まれていない場合があります。最新のコードを GitHub から直接インストールするには、次のコマンドを実行します。

pip install --upgrade git+https://github.com/jlowin/fastmcp.git@main#egg=fastmcp

その後、次のコマンドで確認します。

fastmcp version
インストールの確認

次のコマンドを実行します。

fastmcp version

詳細については、FastMCP のドキュメントを参照してください:https://github.com/jlowin/fastmcp

MCP の使用方法の例を以下に示します(MCP クライアントの設定など)。

{
  "mcpServers": {
    "gcp-terraform-mcp-server": {
      "command": "uvx",
      "args": ["gcp-terraform-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

または、docker build -t gcp-terraform-mcp-server . の実行が成功した後に Docker を使用します。

{
  "mcpServers": {
    "gcp-terraform-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--env",
        "FASTMCP_LOG_LEVEL=ERROR",
        "gcp-terraform-mcp-server:latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

ローカル開発

ローカルで実行および開発するには、次の手順に従います。

  1. 仮想環境を作成して有効化します
python3 -m venv venv
source venv/bin/activate
  1. pip をアップグレードして、プロジェクトの依存関係をインストールします
pip install --upgrade pip
pip install -e .
  1. MCP サーバーを実行します
uvicorn gcp_terraform_mcp_server.main:app --host 0.0.0.0 --port 8080
  1. (任意)スクリプトのエントリポイントを使用する場合
gcp-terraform-mcp-server

fastmcp およびその他の依存関係が正常にインストールされていることを確認してください。ModuleNotFoundError: No module named 'fastmcp.models' が表示される場合は、仮想環境が有効になっていること、および依存関係のインストールがエラーなく完了していることを確認してください。

サーバーの実行

メインモジュールを直接呼び出すのではなく、FastMCP CLI を使ってサーバーを起動します。

# Start with stdio transport (default)
fastmcp run src/gcp_terraform_mcp_server/main.py:mcp

# Or start as an SSE server on port 8080
fastmcp run src/gcp_terraform_mcp_server/main.py:mcp --transport sse --host 0.0.0.0 --port 8080

アクティブな環境に fastmcp がインストールされていることを確認してください。この CLI は、main.py でエクスポートされている mcp = FastMCP(...) インスタンスを自動的に検出します。

利用可能な MCP コマンド

このサーバーを GitHub Copilot Chat や他の MCP クライアントで使用する際は、以下のコマンドを利用できます。

Terraform ワークフローツール
コマンド説明例
terraform_workflow_guideGCP での Terraform に関する包括的なガイドを取得します/mcp gcp-terraform-mcp terraform_workflow_guide
terraform_initTerraform プロジェクトを初期化します/mcp gcp-terraform-mcp terraform_init path="./my-project"
terraform_validateTerraform プロジェクトを検証します/mcp gcp-terraform-mcp terraform_validate path="./my-project"
terraform_planTerraform プロジェクトのプランを作成します/mcp gcp-terraform-mcp terraform_plan path="./my-project"
terraform_applyTerraform のプランを適用します/mcp gcp-terraform-mcp terraform_apply path="./my-project" plan_file="tfplan"
terraform_destroyTerraform リソースを破棄します/mcp gcp-terraform-mcp terraform_destroy path="./my-project"
Checkov セキュリティツール
コマンド説明例
terraform_run_checkovCheckov のセキュリティスキャンを実行します/mcp gcp-terraform-mcp terraform_run_checkov path="./my-project"
terraform_fix_security_issuesCheckov でセキュリティ上の問題を修正します/mcp gcp-terraform-mcp terraform_fix_security_issues path="./my-project"
GCP のベストプラクティスとセキュリティ
コマンド説明例
terraform_gcp_best_practicesGCP のベストプラクティスを取得します/mcp gcp-terraform-mcp terraform_gcp_best_practices
terraform_gcp_security_recommendationsGCP のセキュリティに関する推奨事項を取得します/mcp gcp-terraform-mcp terraform_gcp_security_recommendations impact="HIGH"
GCP プロバイダーのドキュメント
コマンド説明例
terraform_gcp_provider_resources_listingGCP プロバイダーのリソースを一覧表示します/mcp gcp-terraform-mcp terraform_gcp_provider_resources_listing service="compute"
terraform_gcp_resource_documentationGCP リソースのドキュメントを取得します/mcp gcp-terraform-mcp terraform_gcp_resource_documentation resource_name="google_storage_bucket"
Terraform Registry ツール
コマンド説明例
terraform_search_modulesTerraform モジュールを検索します/mcp gcp-terraform-mcp terraform_search_modules query="gcp storage"
terraform_analyze_moduleTerraform モジュールを分析します/mcp gcp-terraform-mcp terraform_analyze_module module_id="GoogleCloudPlatform/storage/google/latest"
GenAI モジュールツール
コマンド説明例
terraform_genai_modulesGenAI モジュールを一覧表示します/mcp gcp-terraform-mcp terraform_genai_modules
terraform_vertex_ai_moduleVertex AI モジュールのテンプレートを取得します/mcp gcp-terraform-mcp terraform_vertex_ai_module
terraform_gke_ai_moduleGKE AI モジュールのテンプレートを取得します/mcp gcp-terraform-mcp terraform_gke_ai_module

GitHub Copilot との統合

この MCP サーバーを GitHub Copilot Chat で使用するには、以下の設定を VS Code の settings.json に追加します。

"mcp": {
  "inputs": [],
  "servers": {
    "gcp-terraform-mcp": {
      "command": "/path/to/your/venv/bin/fastmcp",
      "args": [
        "run",
        "/path/to/your/src/gcp_terraform_mcp_server/main.py:mcp"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "INFO"
      },
      "autoApprove": ["terraform_"]
    }
  }
}

この設定を追加して VS Code を再起動すると、GitHub Copilot Chat パネルで上記のコマンドを使用できます。

セキュリティに関する考慮事項

この MCP サーバーを使用する際は、以下を考慮してください。

  • 検証とセキュリティスキャンを組み込んだ構造化された開発ワークフローに従う
  • Checkov の警告とエラーをすべて手動で確認する
  • 可能な限り、セキュリティ上の問題を無視せず修正する
  • 必要な例外については、明確な根拠を記録する
  • セキュリティコンプライアンスを確認するために、RunCheckovScan ツールを定期的に使用する
  • インフラストラクチャについて、GCP のセキュリティに関するベストプラクティスに従う

本番環境に Terraform の変更を適用する前に、独自のセキュリティおよび品質管理の慣行と基準、ならびに適用されるコンテンツに関する地域の法律、規則、規制にインフラストラクチャが準拠することを確認するため、独自に評価を実施してください。

コメント

MCP は初めてですか?

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

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