MCP가 세션을 버렸습니다 — 스테이트리스 전환이 인프라를 바꾸는 방식
· BNV Solutions
지난 7월 28일, AI 에이전트를 외부 도구·데이터에 연결하는 표준인 MCP(Model Context Protocol)의 새 스펙이 확정됐습니다. 가장 큰 변화는 세션을 없앤 것입니다. 연결을 여는 initialize 핸드셰이크가 사라졌고, 서버가 먼저 클라이언트에게 말을 거는 요청도 함께 빠졌습니다. 남은 것은 요청 하나하나가 스스로 완결되는 스테이트리스 코어입니다. 프로토콜이 나온 뒤 가장 큰 폭의 개정입니다.
세션은 편했지만 서버를 무겁게 만들었습니다. 대화 중간 상태를 서버가 들고 있으니 같은 사용자의 다음 요청은 반드시 같은 서버로 돌아가야 했습니다. 로드밸런서가 사용자와 특정 서버를 묶어두는 스티키 세션이 필요했고, 서버를 늘리려면 세션을 공유하는 저장소나 요청 내용을 뜯어보는 게이트웨이까지 얹어야 했습니다. 서버 한 대를 재배포하면 그 위에 얹혀 있던 대화가 같이 끊겼습니다. 세션을 버린다는 건 이 부속물을 통째로 떼어낸다는 뜻입니다.
물론 공짜는 아닙니다. 서버가 기억을 놓으면 그 기억은 어딘가로 옮겨갑니다. 매 요청이 자기 문맥을 챙겨야 하니 설계를 잘못하면 왕복만 늘어납니다. 새 스펙은 그 지점을 막을 장치를 함께 들여왔습니다. 여러 번 오가야 끝나는 작업을 위한 Multi Round-Trip Requests, 헤더만 보고 목적지를 정하는 라우팅, 그리고 캐시할 수 있는 도구 목록 응답입니다. 덕분에 에이전트는 접속할 때마다 '너는 뭘 할 수 있니'를 다시 묻지 않아도 됩니다. 인증은 OAuth 2.1 기반으로 조여졌습니다.
이미 MCP 서버를 굴리고 있다면 당장 뜯어고칠 일은 아닙니다. Roots·Sampling·Logging은 폐기 예정으로 표시됐지만 최소 12개월은 살아 있고, 주요 SDK 네 종은 발표 당일부터 새 스펙을 지원했습니다. 눈여겨볼 건 기능 목록보다 공식 폐기 정책이 생겼다는 사실입니다. 무엇을 언제 어떻게 깨뜨릴지 표준이 스스로 약속했다는 뜻이고, 그래야 기업이 이 위에 몇 년짜리 시스템을 올립니다.
저희도 사내 AI 에이전트 '단비'를 만들어 전 직원이 씁니다. 규모가 크지 않아도 변화는 체감됩니다. 서버가 상태를 붙들고 있지 않으면 배포가 대화를 끊지 않습니다. 반대로 '누가 무엇을 할 수 있는가'는 이제 전적으로 인증과 헤더가 결정합니다. 세션이 어물쩍 가려주던 권한 설계가 그대로 드러납니다.
공교롭게 8월 2일부터 EU AI Act 제50조의 투명성 의무가 적용되기 시작했고, 범용 AI 모델 의무에 대해서는 EU AI Office가 모델 평가와 시정조치, 최대 글로벌 매출 3% 또는 1,500만 유로의 과징금까지 실제로 행사할 수 있게 됐습니다. 규정은 1년 전부터 있었지만 집행 수단이 이번에 붙었습니다. 무엇을 누구의 권한으로 호출했는지 요청 단위로 남는 구조는, 확장성 이전에 설명 책임의 문제입니다.