Transport AdapterはHTTPやMCPをApplication Operationへ翻訳する境界
Transport Adapterは、外部protocolのrequest/responseをApplication内部のOperation呼び出しへ変換する境界として捉えられる。HTTPならrouting・path/query/body decode・status code・serialization、MCPならJSON-RPC method・tool/resource schema・protocol errorなどを扱う。
Goaの生成HTTP serverはrouting、serialization、error handlingといった「transport-level concerns」を担当し、service methodへ接続する。MCP 2026-07-28仕様も、Transportを「messageをどうframing/deliveryするかを定義するbinding」であり、messageの意味自体は定義しない、と明示している。これはTransportとApplication semanticsを分ける非常に明瞭な例である。
HTTP request ─┐
MCP request ─┼─ Transport Adapter → Application Operation
Job message ─┤
CLI args ─┘
この構造にすると、新しいTransportの追加がDomain/Application logicの複製になりにくい。認証tokenの検証、protocol-specific scope、HTTP statusへのmappingなどはAdapter側に残せる。
ただしAdapterを「薄くする」こと自体を目的にすると、必要なinput validationやprotocol semanticsまでCoreへ漏らすことがある。境界の基準は行数ではなく、そのルールがTransport固有か、Application Operation固有かで判断した方がよい。Transport Authorizationは接続・Token・Scopeを守るがDomain Permissionの代わりではない と Domain AuthorizationはOperationが具体Resourceへ作用してよいかを判定する は認可をこの観点で分ける。