メインコンテンツにスキップ

MCP 連携

IaC Code は Model Context Protocol (MCP) host として動作できます。MCP servers は IaC Code の permission、session、logging、output handling の経路を通りながら、agent に外部 tools、resources、prompts、reusable skills を拡張します。

IaC コードで、プライベート テンプレート カタログ、内部展開レビュー担当者、インベントリ クエリ サービス、特殊なクラウド操作ツールなど、製品に組み込まれていないローカルまたはリモートの機能を呼び出す場合は、MCP を使用します。

Supported Surfaces

SurfaceMCP support
インタラクティブ REPLユーザー、ローカル、および承認されたプロジェクト サーバーを読み込みます。新しいプロジェクトの .mcp.json サーバーを信頼する前にプロンプ​​トが表示されます。
非対話型モードユーザー、ローカル、および承認されたプロジェクト サーバーを読み込みます。決してプロンプトを表示しません。保留中のプロジェクト サーバーは警告とともにスキップされます。
ACPサーバーACP クライアントからセッション MCP サーバー設定を受け入れ、そのセッション内で検出された MCP 機能を公開します。
A2Aサーバー通常のランタイムを通じて MCP をロードし、MCP 警告とツールの進行状況を A2A タスク メタデータで公開できます。
パイプラインモードMCP ツールの進行状況や警告の伝達など、通常モードと同じランタイム統合を使用します。

Supported Capabilities

CapabilityStatus
stdio トランスポートローカル MCP サーバー プロセスでサポートされています。
ストリーミング可能な HTTP トランスポートリモート MCP サーバーでサポートされています。
SSEトランスポートリモート MCP サーバーでサポートされています。
MCP ツールmcp__<server>__<tool> という名前のエージェント ツールとして公開されます。
MCP リソースlist_mcp_resources および read_mcp_resource を通じて公開されます。
MCP プロンプトmcp__<server>__<prompt> という名前のスラッシュ コマンドとして公開されます。
MCP skill:// リソースmcp__<server>__<skill> という名前のスキル コマンドとして公開されます。
OAuth ループバック認証OAuth メタデータを含むリモート サーバーでサポートされます。
roots/listサポートされています。 IaC コードは、アクティブなワークスペースのルートをファイル URI として返します。
list_changed 通知ツール、リソース、プロンプトがサポートされています。登録は動的に更新されます。
MCP elicitationinteractive session でサポートされます。non-interactive run では安全に cancel されます。URL elicitation はユーザー確認後に元の tool call を retry できます。
WebSocket transportURL のみの ws://wss:// server をサポートします。installed SDK transport は URL のみを受け取るため、WebSocket では headers、headersHelper、OAuth が拒否されます。
動的 headersHelper commandstrusted httpsse server でサポートされます。helper は shell なし、有界 timeout、最小環境、脱敏 diagnostics で実行されます。
SDK および IDE トランスポートサポートされていません。
MCP サーバーとしての IaC コードサポートされていません。 IaC コードは現在、MCP ホストとしてのみ機能します。

How It Works

At runtime IaC Code:

  1. ユーザー、プロジェクト、ローカル、セッションの各ソースから MCP 設定を読み込みます。
  2. ${VAR}${VAR:-default} 参照を展開します。
  3. 安全でない、または無効なサーバーをユーザーに見える warning とともにスキップします。
  4. 承認済みサーバーに制限付き並行数で接続します。
  5. tools、resources、prompts、skill:// resources を発見します。
  6. それらの機能を既存の tool registry と command registry に登録します。
  7. 接続済みサーバーの instructions を server-scoped guidance として agent prompt に注入します。
  8. MCP tool result を通常の IaC Code tool result に変換し、バイナリ artifact と大きな text artifact を runtime 設定ディレクトリに保存します。
  9. REPL、headless run、ACP session、A2A runtime の終了時に MCP client を切断します。

1 台の MCP サーバーに障害が発生しても、他の構成済みサーバーはブロックされません。接続と検出の失敗は、MCP 警告として表示されたままになります。

Naming

MCP ツールとコマンドは、パブリック名に正規化されます。

mcp__<server>__<tool>
mcp__<server>__<prompt>
mcp__<server>__<skill>

文字、数字、アンダースコア以外の文字はアンダースコアになります。検出された 2 つの機能が正規化後に衝突した場合、IaC コードは名前を一意に保つために短いダイジェストを追加します。

MCP スキルの場合、IaC コードは、エイリアスが既存のコマンドと競合しない場合、<server>:<skill> などの互換性エイリアスも登録します。診断では、パブリック名が正規化されている場合でも、元のサーバー、ツール、プロンプト、またはスキルの名前が保持されます。