mcpField
T
Terraform MCP Server

Terraform MCP Server

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

Terraform MCP Server について

Terraform MCP Serverは、Terraform Registryの情報をMCPクライアントに提供するサーバーです。IaC開発者向けに、プロバイダー文書の検索やモジュールの探索・確認を支援します。

主な機能

  1. 01プロバイダー文書の検索
  2. 02プロバイダーのリソースとデータソース文書の取得
  3. 03Terraformモジュールの検索
  4. 04モジュールの入出力とサンプルの確認

活用シーン

  1. 01Terraformプロバイダーと関連文書の検索
  2. 02プロバイダーのリソースやデータソースの確認
  3. 03インフラプロジェクト向けモジュールの探索
  4. 04モジュール設定とサンプルの確認

MCP 対応

Terraform Registryのプロバイダーおよびモジュールを検索・参照するツールをMCPクライアントに公開します。プロバイダー文書の取得にも対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"terraform-mcp-server-pipethedev": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"hashicorp/terraform-mcp-server"
]
}
}
}
起動コマンドdocker run -i --rm hashicorp/terraform-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocihashicorp/terraform-mcp-server

ツール

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

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

詳細

README の画像 Terraform MCP サーバー

Terraform MCP サーバーは、Model Context Protocol(MCP)サーバーです。Terraform Registry API とシームレスに統合し、Infrastructure as Code(IaC)開発の高度な自動化機能と操作機能を提供します。

ユースケース

  • Terraform プロバイダーとモジュールの検索を自動化する
  • Terraform Registry からデータを抽出して分析する
  • プロバイダーのリソースとデータソースに関する詳細情報を取得する
  • Terraform モジュールを調査して理解する

Caution: MCP サーバーが提供する出力や推奨事項は動的に生成されるため、クエリ、モデル、接続されている MCP サーバーによって異なる場合があります。ユーザーは、実装前にすべての出力/推奨事項を十分に確認し、組織のセキュリティのベストプラクティス、コスト効率の目標、コンプライアンス要件に沿っていることを確認してください。

前提条件

  1. サーバーをコンテナーで実行するには、Docker がインストールされている必要があります。
  2. Docker をインストールしたら、Docker が実行中であることを確認してください。

インストール

VS Code での使用

以下の JSON ブロックを VS Code のユーザー設定(JSON)ファイルに追加します。Ctrl + Shift + P を押して Preferences: Open User Settings (JSON) と入力すると追加できます。

VS Code で MCP サーバーツールを使用する方法については、エージェントモードのドキュメントをご覧ください。

{
  "mcp": {
    "servers": {
      "terraform": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "hashicorp/terraform-mcp-server"
        ]
      }
    }
  }
}

必要に応じて、同様の例(mcp キーなし)を、ワークスペース内の .vscode/mcp.json というファイルに追加できます。これにより、設定をほかのユーザーと共有できます。

{
  "servers": {
    "terraform": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "hashicorp/terraform-mcp-server"
      ]
    }
  }
}

Claude Desktop で MCP サーバーツールを使用する方法については、ユーザードキュメントをご覧ください。

Claude Desktop での使用
{
  "mcpServers": {
    "terraform": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "hashicorp/terraform-mcp-server"
      ]
    }
  }
}

ツールの設定

利用可能なツールセット

以下のツールセットを利用できます。

ツールセットツール説明
providersresolveProviderDocIDTerraform Registry を検索し、指定された serviceSlug を使用して特定のプロバイダーで利用可能なドキュメントを一覧表示します。リソース、データソース、関数、ガイドのドキュメント ID を、タイトルとカテゴリとともに返します。
providersgetProviderDocsresolveProviderDocID ツールで取得したドキュメント ID を使用して、特定のプロバイダーのリソース、データソース、関数に関するドキュメント全体を取得します。生のドキュメントを Markdown 形式で返します。
modulessearchModules指定した moduleQuery に基づいて、ページネーションを使用しながら Terraform Registry のモジュールを検索します。モジュール ID、名前、説明、ダウンロード数、検証状況、公開日を一覧で返します。
modulesmoduleDetailssearchModules ツールで取得したモジュール ID を使用して、入力、出力、設定、サブモジュール、例を含むモジュールの詳細なドキュメントを取得します。
ソースからインストール

最新のリリースバージョンを使用します。

go install github.com/hashicorp/terraform-mcp-server/cmd/terraform-mcp-server@latest

main ブランチを使用します。

go install github.com/hashicorp/terraform-mcp-server/cmd/terraform-mcp-server@main
{
  "mcp": {
    "servers": {
      "terraform": {
        "command": "/path/to/terraform-mcp-server",
        "args": ["stdio"]
      }
    }
  }
}

Docker イメージをローカルでビルドする

サーバーを使用する前に、Docker イメージをローカルでビルドする必要があります。

  1. リポジトリをクローンします。
git clone https://github.com/hashicorp/terraform-mcp-server.git
cd terraform-mcp-server
  1. Docker イメージをビルドします。
make docker-build

これにより、次の設定で使用できるローカル Docker イメージが作成されます。

{
  "servers": {
    "terraform": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "terraform-mcp-server"
      ]
    }
  }
}

開発

前提条件
  • Go(特定のバージョンについては go.mod ファイルを確認してください)
  • Docker(任意。コンテナのビルドに使用します)
テストの実行
# Run all tests
make test

# Run e2e tests
make test-e2e
利用可能な Make コマンド
make build        # Build the binary
make test         # Run all tests
make test-e2e     # Run end-to-end tests
make clean        # Remove build artifacts
make deps         # Download dependencies
make docker-build # Build docker image

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. テストを実行します
  5. プルリクエストを送信します

ライセンス

このプロジェクトは、MPL-2.0 オープンソースライセンスの条件に基づいてライセンスされています。詳細な条件については、LICENSE ファイルを参照してください。

セキュリティ

セキュリティに関する問題は、[email protected] に連絡するか、セキュリティポリシーに従って報告してください。

サポート

バグの報告や機能のリクエストについては、GitHub でイシューを作成してください。

一般的な質問やディスカッションについては、GitHub Discussion を開始してください。

コメント

MCP は初めてですか?

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

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