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にインストールして使用するには:
- カーソルで設定 (⌘+,) を開き、「MCP」タブに移動します。
- 「+ 新しい MCP サーバーを追加」をクリックします。
- 以下を入力してください:
- 名前: terraform-registry
- タイプ: コマンド
- コマンド: npx -y terraform-mcp-server
- 「追加」をクリックし、サーバーまでスクロールして「無効」をクリックし、サーバーを有効にします。
- 必要に応じてカーソルを再起動し、MCP サーバーが適切にロードされていることを確認します。
Claude Desktopへのインストール
Claude Desktop にこの MCP サーバーをインストールして使用するには:
- Claude Desktop で設定 (⌘+,) を開き、「開発者」タブに移動します。
- ウィンドウの下部にある「設定の編集」をクリックします。
- ファイル (
~/Library/Application Support/Claude/claude_desktop_config.json
) を編集して次のコードを追加し、ファイルを保存します。
- Claude Desktop を再起動して、MCP サーバーが適切にロードされていることを確認します。
ツール
この MCP サーバーでは次のツールが利用できます。
コアレジストリツール
道具 | 説明 |
---|---|
providerDetails | Terraformプロバイダーに関する詳細情報を取得します |
resourceUsage | Terraform リソースと関連リソースの使用例を取得します |
moduleSearch | クエリに基づいてTerraformモジュールを検索して推奨します |
listDataSources | プロバイダーの利用可能なすべてのデータソースとその基本詳細を一覧表示します |
resourceArgumentDetails | リソースタイプの引数に関する包括的な詳細を取得します |
moduleDetails | Terraformモジュールの詳細なメタデータを取得します |
functionDetails | Terraform プロバイダー関数の詳細を取得します |
providerGuides | プロバイダー固有のガイドとドキュメントを一覧表示および表示します |
policySearch | Terraform レジストリ内のポリシー ライブラリを検索します |
policyDetails | 特定のポリシーライブラリに関する詳細情報を取得します |
Terraform クラウドツール
これらのツールには、Terraform Cloud API トークン ( TFC_TOKEN
) が必要です。
道具 | 説明 |
---|---|
listOrganizations | 認証されたユーザーがアクセスできるすべての組織を一覧表示します |
privateModuleSearch | 組織内のプライベートモジュールを検索します |
privateModuleDetails | プライベートモジュールの詳細情報を取得します |
explorerQuery | Terraform 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 コードを生成する | sourceCloud 、 targetCloud 、 terraformCode |
generate-resource-skeleton | ベストプラクティスを使用して、ユーザーが新しい Terraform リソースを迅速に構築できるように支援します。 | resourceType |
optimize-terraform-module | Terraform コードを改善するための実用的な推奨事項を提供します | terraformCode |
migrate-provider-version | プロバイダーのバージョンアップグレードと重大な変更の支援 | providerName 、 currentVersion 、 targetVersion 、 terraformCode (オプション) |
analyze-workspace-runs | 最近の実行の失敗を分析し、Terraform Cloud ワークスペースのトラブルシューティング ガイダンスを提供します。 | workspaceId 、 runsToAnalyze (オプション、デフォルト: 5) |
プロンプトに関する既知の問題
注: getPrompt
機能には、サーバークラッシュを引き起こす可能性のある既知の問題があります。サーバーはプロンプトを適切に登録し、一覧表示できますが、 getPrompt
メソッドを使用した直接リクエストは接続の問題を引き起こす可能性があります。この問題は現在調査中であり、SDKの互換性または実装の詳細に関連している可能性があります。問題が解決するまで、利用可能なプロンプトを確認するにはlistPrompts
を使用し、 getPrompt
直接呼び出しは避けてください。
サーバーの実行
サーバーは、MCP 通信用の stdio トランスポートを使用して実行されます。
環境変数による設定
サーバーは環境変数を使用して設定できます。
環境変数 | 説明 | デフォルト値 |
---|---|---|
TERRAFORM_REGISTRY_URL | Terraform Registry API のベース URL | https://registry.terraform.io |
DEFAULT_PROVIDER_NAMESPACE | プロバイダーのデフォルトの名前空間 | ハシコーポレーション |
LOG_LEVEL | ログレベル(エラー、警告、情報、デバッグ) | 情報 |
REQUEST_TIMEOUT_MS | API リクエストのタイムアウト(ミリ秒) | 10000 |
RATE_LIMIT_ENABLED | APIリクエストのレート制限を有効にする | 間違い |
RATE_LIMIT_REQUESTS | 時間枠内で許可されるリクエストの数 | 60 |
RATE_LIMIT_WINDOW_MS | レート制限の時間枠(ミリ秒) | 60000 |
TFC_TOKEN | プライベート レジストリ アクセス用の Terraform Cloud API トークン (オプション) |
環境変数の使用例:
テスト
このプロジェクトのテストに関する情報については、 TESTS.mdファイルを参照してください。
You must be authenticated.
Tools
MCP を介して AI モデルを Terraform レジストリに接続し、プロバイダーの検索、リソースの使用例、モジュールの推奨を可能にして、合理化された Terraform ワークフローを実現します。