タラバガニー設計局stalins.clubNOTE/notes/transport-adapter

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へ作用してよいかを判定する は認可をこの観点で分ける。

出典

▸ ノート一覧に戻る