Terraform Registry MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables access to HashiCorp's Terraform Registry, allowing lookup of HashiCorp-provided providers and modules, with detailed information on their configuration, requirements, and usage examples.

  • Provides tools for interacting with the Terraform Registry API, enabling querying of provider information, resource details, module metadata, and recommendations. Supports looking up providers, retrieving resource usage examples, finding modules, listing data sources, and fetching comprehensive resource argument details.

Terraform レジストリ MCP サーバー

Terraform Registry API と連携するためのツールを提供する Model Context Protocol (MCP) サーバー。このサーバーにより、AI エージェントはプロバイダー情報、リソースの詳細、モジュールのメタデータを照会できます。

インストール

カーソルへのインストール

この MCP サーバーをCursorにインストールして使用するには:

  1. カーソルで設定 (⌘+,) を開き、「MCP」タブに移動します。
  2. 「+ 新しい MCP サーバーを追加」をクリックします。
  3. 以下を入力してください:
    • 名前: terraform-registry
    • タイプ: コマンド
    • コマンド: npx -y terraform-mcp-server
  4. 「追加」をクリックし、サーバーまでスクロールして「無効」をクリックし、サーバーを有効にします。
  5. 必要に応じてカーソルを再起動し、MCP サーバーが適切にロードされていることを確認します。

Claude Desktopへのインストール

Claude Desktop にこの MCP サーバーをインストールして使用するには:

  1. Claude Desktop で設定 (⌘+,) を開き、「開発者」タブに移動します。
  2. ウィンドウの下部にある「設定の編集」をクリックします。
  3. ファイル ( ~/Library/Application Support/Claude/claude_desktop_config.json ) を編集して次のコードを追加し、ファイルを保存します。
{ "mcpServers": { "terraform-registry": { "command": "npx", "args": ["-y", "terraform-mcp-server"] } } }
  1. Claude Desktop を再起動して、MCP サーバーが適切にロードされていることを確認します。

ツール

この MCP サーバーでは次のツールが利用できます。

コアレジストリツール

道具説明
providerDetailsTerraformプロバイダーに関する詳細情報を取得します
resourceUsageTerraform リソースと関連リソースの使用例を取得します
moduleSearchクエリに基づいてTerraformモジュールを検索して推奨します
listDataSourcesプロバイダーの利用可能なすべてのデータソースとその基本詳細を一覧表示します
resourceArgumentDetailsリソースタイプの引数に関する包括的な詳細を取得します
moduleDetailsTerraformモジュールの詳細なメタデータを取得します
functionDetailsTerraform プロバイダー関数の詳細を取得します
providerGuidesプロバイダー固有のガイドとドキュメントを一覧表示および表示します
policySearchTerraform レジストリ内のポリシー ライブラリを検索します
policyDetails特定のポリシーライブラリに関する詳細情報を取得します

Terraform クラウドツール

これらのツールには、Terraform Cloud API トークン ( TFC_TOKEN ) が必要です。

道具説明
listOrganizations認証されたユーザーがアクセスできるすべての組織を一覧表示します
privateModuleSearch組織内のプライベートモジュールを検索します
privateModuleDetailsプライベートモジュールの詳細情報を取得します
explorerQueryTerraform Cloud Explorer API にクエリを実行してデータを分析します
listWorkspaces組織内のワークスペースを一覧表示します
workspaceDetails特定のワークスペースに関する詳細情報を取得します
lockWorkspace実行を防ぐためにワークスペースをロックします
unlockWorkspace実行を可能にするためにワークスペースのロックを解除します
listRunsワークスペースの実行を一覧表示します
runDetails特定の実行に関する詳細情報を取得します
createRunワークスペースの新しい実行を作成します
applyRun計画された実行を適用する
cancelRun進行中の実行をキャンセルします
listWorkspaceResourcesワークスペース内のリソースを一覧表示します

リソース

MCP サーバーはresources/*メソッドを介して一覧表示および読み取りを行うために、次のリソース URI をサポートしています。

リソースタイプURIの例説明
プロバイダーterraform:providersすべての名前空間/プロバイダーを一覧表示する
terraform:provider:<namespace>/<name>特定のプロバイダーの詳細を取得する
プロバイダーのバージョンterraform:provider:<namespace>/<name>/versionsプロバイダーの利用可能なバージョンを一覧表示する
プロバイダーリソースterraform:provider:<namespace>/<name>/resourcesプロバイダーのリソースを一覧表示する
terraform:resource:<namespace>/<name>/<resource_name>特定のリソースタイプの詳細を取得する
プロバイダーデータソースterraform:provider:<namespace>/<name>/dataSourcesプロバイダーのデータソースを一覧表示する
terraform:dataSource:<namespace>/<name>/<data_source_name>特定のデータソースの詳細を取得する
プロバイダー関数terraform:provider:<namespace>/<name>/functionsプロバイダーの関数を一覧表示する
terraform:function:<namespace>/<name>/<function_name>特定の機能の詳細を取得する

サーバーは、次のものを作成するためのテンプレートを提供するためのresources/templates/listもサポートしています。

  • terraform:provider
  • terraform:resource
  • terraform:dataSource

プロンプト

コンテキスト応答を生成するために、次のプロンプトが利用できます。

プロンプト説明必須引数
migrate-cloudsクラウド プロバイダー間でインフラストラクチャを移行するための Terraform コードを生成するsourceCloudtargetCloudterraformCode
generate-resource-skeletonベストプラクティスを使用して、ユーザーが新しい Terraform リソースを迅速に構築できるように支援します。resourceType
optimize-terraform-moduleTerraform コードを改善するための実用的な推奨事項を提供しますterraformCode
migrate-provider-versionプロバイダーのバージョンアップグレードと重大な変更の支援providerNamecurrentVersiontargetVersionterraformCode (オプション)
analyze-workspace-runs最近の実行の失敗を分析し、Terraform Cloud ワークスペースのトラブルシューティング ガイダンスを提供します。workspaceIdrunsToAnalyze (オプション、デフォルト: 5)

プロンプトに関する既知の問題

getPrompt機能には、サーバークラッシュを引き起こす可能性のある既知の問題があります。サーバーはプロンプトを適切に登録し、一覧表示できますが、 getPromptメソッドを使用した直接リクエストは接続の問題を引き起こす可能性があります。この問題は現在調査中であり、SDKの互換性または実装の詳細に関連している可能性があります。問題が解決するまで、利用可能なプロンプトを確認するにはlistPromptsを使用し、 getPrompt直接呼び出しは避けてください。

サーバーの実行

サーバーは、MCP 通信用の stdio トランスポートを使用して実行されます。

npm install npm start

環境変数による設定

サーバーは環境変数を使用して設定できます。

環境変数説明デフォルト値
TERRAFORM_REGISTRY_URLTerraform Registry API のベース URLhttps://registry.terraform.io
DEFAULT_PROVIDER_NAMESPACEプロバイダーのデフォルトの名前空間ハシコーポレーション
LOG_LEVELログレベル(エラー、警告、情報、デバッグ)情報
REQUEST_TIMEOUT_MSAPI リクエストのタイムアウト(ミリ秒)10000
RATE_LIMIT_ENABLEDAPIリクエストのレート制限を有効にする間違い
RATE_LIMIT_REQUESTS時間枠内で許可されるリクエストの数60
RATE_LIMIT_WINDOW_MSレート制限の時間枠(ミリ秒)60000
TFC_TOKENプライベート レジストリ アクセス用の Terraform Cloud API トークン (オプション)

環境変数の使用例:

# Set environment variables export LOG_LEVEL="debug" export REQUEST_TIMEOUT_MS="15000" export TFC_TOKEN="your-terraform-cloud-token" # Run the server npm start

テスト

このプロジェクトのテストに関する情報については、 TESTS.mdファイルを参照してください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

MCP を介して AI モデルを Terraform レジストリに接続し、プロバイダーの検索、リソースの使用例、モジュールの推奨を可能にして、合理化された Terraform ワークフローを実現します。

  1. Installation
    1. Installing in Cursor
    2. Installing in Claude Desktop
  2. Tools
    1. Core Registry Tools
    2. Terraform Cloud Tools
  3. Resources
    1. Prompts
      1. Known Issues with Prompts
    2. Running the Server
      1. Configuration with Environment Variables
    3. Testing
      ID: zznclqgard