Streamable HTTP 는 URL 뒤에 살고 싶은 MCP server 를 위한 transport 야. 공유 서비스, cloud 에 올린 server, 여러 고객을 한꺼번에 받는 server. 예전의 'HTTP+SSE' transport 를 (지금은 deprecated 됐어) endpoint 하나로 갈아치웠고, 그 하나가 양쪽 방향을 다 평범한 HTTP 로 처리해.
선 위의 모양은 이래. Client 가 server endpoint 에 JSON-RPC request 를 POST 하면, server 는 둘 중 하나로 답해. 간단한 요청이면 평범한 HTTP response 본문에 JSON-RPC 결과를 담아 보내. 오래 걸리거나 흘려보내야 하는 요청이면 Server-Sent Events (SSE) stream 을 돌려주고, JSON-RPC 메시지를 준비되는 대로 data: 줄에 실어 보내. 어느 쪽이든 JSON-RPC 의 틀은 똑같아. HTTP 봉투 덕에 server 가 '한 번에 끝낼지' '흘려보낼지' 를 그때그때 고를 수 있는 것뿐이야.
Server 에서 client 로 가는 알림도 (notifications/tools/listChanged 같은 거) 같은 SSE stream 을 타고 흘러. Client 가 endpoint 에 오래 열어두는 GET 을 하나 걸어두면, server 가 일이 생길 때마다 밀어줘. TCP 연결 하나에 논리적으로는 채널 둘인 셈이지.
옛 HTTP+SSE 보다 운영이 편해진 게 커. Endpoint 하나, auth 흐름 하나, CORS 규칙 하나면 되고 여러 URL 로 흩어질 일이 없어. Stdio 와 비교하면 이점은 말할 것도 없고 — 네트워크가 되니까. MCP server 를 서비스로 내놓는다면 이 모양이야.