mcpField
I
infraport

infraport

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

infraport について

infraportは、CLIとstdio MCPを通じてTerraform RegistryのレコードとHCP Terraformのワークスペースにアクセスします。モジュール、プロバイダー、ポリシーの検索やワークスペースの確認に使え、Registryの呼び出しに認証情報は不要ですが、ワークスペースには `TFE_TOKEN` が必要です。

主な機能

  1. 01Registryのモジュール、プロバイダー、ポリシー検索
  2. 02Registryレコードと最新バージョンの取得
  3. 03HCP Terraformワークスペースの一覧と詳細表示
  4. 04CLIとstdio MCPサーバーの提供

活用シーン

  1. 01クエリに合うTerraformモジュールの検索
  2. 02プロバイダーやポリシーレコードの確認
  3. 03組織内ワークスペースの確認

MCP 対応

stdio MCPサーバーは、Terraform Registry用の8つのツールとワークスペース用の2つのツールを公開します。ワークスペースツールには `TFE_TOKEN` が必要で、Registryツールには認証情報が不要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-infraport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/infraport"
]
}
}
}
起動コマンドnpx -y @reneturcios/infraport

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

パッケージ
npm@reneturcios/infraport0.1.0
ocighcr.io/cloudcorprecords/infraport:0.1.0

ツール

10

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
querystringはいTerraform Registry でモジュールを検索するためのテキストです。
offsetnumberいいえモジュール検索結果の任意のページネーションオフセットです。
providerstringいいえモジュール検索結果を単一のプロバイダーに絞り込むための任意のプロバイダー名です。

詳細

infraport

infraport は、Terraform の 2 つの公開インターフェースを参照する小さなリーダーです。 Terraform Registry ではモジュール、プロバイダー、Sentinel ポリシーセットが公開されます。infraport はこれらを検索し、単一のモジュール、プロバイダー、ポリシーセットのレコードを読み取ります。また、モジュールまたはプロバイダーの最新公開バージョンも取得できます。HCP Terraform ではワークスペースを管理します。infraport は組織内のワークスペースを一覧表示し、名前を指定して 1 つのワークスペースを読み取ります。1 つのバイナリで、コマンドラインインターフェースと stdio MCP サーバーの両方を提供します。

この 2 つのインターフェースには、重要な違いが 1 つあります。Registry は認証情報を必要としません。Registry のコマンドとツールは、認証情報がなくても動作し、Authorization ヘッダーが送信されることはありません。トークンが必要なのは 2 つのワークスペースツールだけです。HCP Terraform API トークンを環境変数 TFE_TOKEN に設定すると、app.terraform.io に Authorization: Bearer として送信されます。TFE_TOKEN が設定されていない場合、ワークスペースの呼び出しは変数名を示すエラーで失敗し、リクエストは送信されません。Registry の呼び出しには影響しません。

インストール

npx @reneturcios/infraport search-modules vpc

または、コンテナーイメージを実行します。

docker run -i -e TFE_TOKEN ghcr.io/cloudcorprecords/infraport

コンテナーはデフォルトで MCP サーバーを起動します(以下を参照)。CLI として使用するには、CLI 引数を渡します。

CLI

infraport search-modules vpc
infraport module terraform-aws-modules vpc aws
infraport module-version terraform-aws-modules vpc aws
infraport search-providers aws
infraport provider hashicorp aws
infraport provider-version hashicorp aws
infraport search-policies tags
infraport policy hashicorp enforce-tags

export TFE_TOKEN=<your HCP Terraform token>
infraport workspaces my-org
infraport workspace my-org prod

infraport --version

各コマンドは、上流の JSON ペイロードを出力します。2 つの *-version コマンドは、抽出した version と、その取得元である Registry の完全なペイロードを含む小さなオブジェクトを出力します。終了コードは次のとおりです。 0 は成功時、1 は呼び出し失敗時(ワークスペースコマンドでの TFE_TOKEN 未設定や API エラーを含む)、2 は使用方法のエラー時です。

MCP サーバー

1 つのバイナリで両方のインターフェースを提供します。mcp サブコマンドは stdio MCP サーバーを起動します。

npx -y @reneturcios/infraport mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "infraport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/infraport", "mcp"],
      "env": { "TFE_TOKEN": "..." }
    }
  }
}

env エントリが必要なのは 2 つのワークスペースツールだけです。8 つの Registry ツールは、これがなくても動作します。

ツール
ツール入力返される内容
search_modulesquery(必須)、provider、offset(任意)クエリに一致する Registry のモジュール。
get_module_detailsnamespace、name、provider(必須)、version(任意)モジュールのレコード。
get_latest_module_versionnamespace、name、provider(必須)モジュールのレコードから抽出した最新バージョンと、そのレコード。
search_providersquery(必須)、offset(任意)クエリに一致する Registry のプロバイダー。
get_provider_detailsnamespace、type(必須)、version(任意)プロバイダーのレコード。
get_latest_provider_versionnamespace、type(必須)プロバイダーのレコードから抽出した最新バージョンと、そのレコード。
search_policiesquery(必須)、offset(任意)クエリに一致する Registry のポリシーセット。
get_policy_detailsnamespace、name(必須)ポリシーセットのレコード。
list_workspacesorganization(必須)組織内のワークスペース。TFE_TOKEN が必要です。
get_workspaceorganization、workspace(必須)1 つのワークスペース。TFE_TOKEN が必要です。

Registry の呼び出しでは https://registry.terraform.io/v1 を使用し、認証情報は送信しません。ワークスペースの呼び出しでは https://app.terraform.io/api/v2 を使用し、Bearer トークンと application/vnd.api+json のコンテンツタイプを送信します。

このビルドが対応するのは、基本的な機能の一部です。上記の 8 つの Registry ツールに加え、ワークスペースの一覧表示と読み取りに対応しています。実行の管理、ワークスペースの作成や変更、変数の編集、モジュール、プロバイダー、ポリシーの公開には対応していません。

開発

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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