MCP 스펙이 세 리비전 앞서가 있었다 — 2026-07-28 스테이트리스 전환의 전말
직접 만든 MCP 서버가 이상하게 굴었다. 어떤 클라이언트에서는 잘 붙는데, 어떤 클라이언트에서는 인증이 통째로 날아가고 데모 데이터만 돌아왔다. 처음엔 클라이언트 쪽 문제라고 생각했다. 원인을 좁혀보니 정반대였다. MCP-Protocol-Version 헤더가 오면 서버가 인증 컨텍스트를 버리고 데모 모드로 강등하고 있었다. 헤더가 없을 때만 정상 동작했다. 그런데 스펙은 2025-06-18 부터 클라이언트가 이 헤더를 반드시 보내라고 요구한다. 즉 규격을 제대로 지키는 클라이언트일수록 반드시 실패하는 구조였다. 버그 자체는 몇 줄이면 고쳐진다. 문제는 그다음이었다. 고치려고 스펙을 열어보니 서버가 협상하던 2025-03-26 은 이미 세 리비전 뒤처진 버전이었다. 그사이 MCP 는 initialize 핸드셰이크를 없애고, 세션 헤더를 없애고, 서버가 클라이언트에게 요청을 되쏘는 모델 자체를 폐기했다. 단순 버그 수정이 아니라 어느 리비전을 타깃할지부터 정해야 하는 상황이었다. ...