MCP가 세션을 버렸다 — 2026-07-28 스펙의 스테이트리스 전환

MCP·에이전트 만들기 2026-08-16 18:21:23 mcpstatelesstypescript-sdkhttp

글 목록 →

MCP가 세션을 버렸다 — 2026-07-28 스펙의 스테이트리스 전환

MCP(Model Context Protocol) 메인테이너들이 7월 28일 새 스펙 2026-07-28을 정식 발표했다. 공식 블로그는 이를 “프로토콜 출범 이래 가장 큰 개정”이라 불렀고, 개발 매체 Developers Digest도 같은 표현으로 이를 확인했다. 핵심은 하나다 — MCP가 상태를 유지하던 프로토콜에서 요청·응답만 오가는 스테이트리스 프로토콜로 바뀌었다.

무엇이 사라졌나

기존 방식은 클라이언트가 initialize 메시지를 보내면 서버가 Mcp-Session-Id를 내려주고, 이후 모든 요청에 그 ID를 실어야 했다. 이 세션 ID가 클라이언트를 특정 컨테이너나 파드에 묶어버렸다. Google Cloud 엔지니어링 블로그는 이 구조가 라운드로빈 로드밸런서에서 “세션을 찾을 수 없음” 오류로 이어지고, 스티키 세션 설정을 강제하며, 파드가 재시작되면 세션이 통째로 사라진다고 짚었다.

새 스펙은 이 핸드셰이크와 세션 헤더를 아예 제거했다(SEP-2575, SEP-2567). 프로토콜 버전·클라이언트 정보·기능 목록은 매 요청의 _meta 필드에 실려 함께 온다. 원한다면 server/discover 호출로 기능을 미리 조회할 수도 있지만 필수는 아니다. 어떤 요청이든 어떤 서버 인스턴스로 가도 처리할 수 있다.

바뀐 지점 요약

항목2025-11-25 이전2026-07-28
연결 시작initialize 핸드셰이크 필수없음, 요청마다 자기완결
세션 상태서버 메모리·공유 스토어프로토콜 코어에 불필요
로드밸런싱스티키 세션 필요평범한 라운드로빈 가능
라우팅 근거요청 본문 파싱Mcp-Method·Mcp-Name 헤더
서버→클라이언트 요청스트림 유지MRTR — 즉시 응답 후 재요청
목록 조회(tools/list 등)매번 재요청ttlMs로 캐시 가능

서버가 사용자 확인처럼 중간에 뭔가 더 필요하면, 예전에는 연결을 열어둔 채 기다렸지만 이제는 input_required 결과를 즉시 돌려주고 클라이언트가 답변을 담아 같은 호출을 다시 보낸다(MRTR, SEP-2322). 커넥션을 붙잡아 둘 필요가 없다는 점이 서버리스 배포와 특히 잘 맞는다.

함께 은퇴하는 기능들

공식 블로그는 Roots·Sampling·Logging 세 기능의 deprecated 전환도 명시한다. 최소 12개월의 유예 기간을 두는 정식 폐기 정책(SEP-2577) 아래라 당장 삭제되지는 않는다. 다만 이 블로그가 며칠 전 다룬 Sampling(서버가 클라이언트에게 LLM 호출을 빌리는 기능)도 이 목록에 들어 있다는 점은 짚어둘 만하다. Google 블로그에 따르면 대체 경로는 LLM 제공자 API를 서버가 직접 호출하는 것이다. Logging은 stdio 연결의 표준 stderr나 OpenTelemetry 기반 관측으로 옮겨가는 흐름이라고 소개한다.

개발자가 지금 할 일

TypeScript·Python·Go·C# 네 Tier-1 SDK가 모두 발표 당일 새 스펙을 지원한다. TypeScript는 단일 패키지 @modelcontextprotocol/sdk 대신 클라이언트·서버가 분리된 모듈형 패키지로 바뀌었고(v2), 코드모드로 .tool()registerTool 같은 표준 API 이름 변경을 자동화할 수 있다고 안내한다. 다만 베타 태그 기준 안내라 실제 실행 전에는 각 SDK의 마이그레이션 문서를 먼저 확인하는 편이 안전하다.

세션 상태에 의존하던 서버라면 이번이 구조 변경이 불가피한 지점이다. 상태가 꼭 필요하면 도구가 명시적으로 핸들(ID)을 발급하고 모델이 그 값을 인자로 다시 넘기게 하는 편이, 전송 계층에 숨겨둔 세션보다 낫다는 것이 공식 블로그의 조언이다. 인증 서버를 운영 중이라면 RFC 9207 issuer 검증과 Dynamic Client Registration의 공식 폐기 방향도 함께 확인할 부분이다. 이미 도구 스키마를 느슨한 JSON Schema로 짜둔 서버라면, 이번에 요구 수준이 JSON Schema 2020-12로 올라간 만큼 검증기를 한 번 돌려보는 것도 권할 만하다.

참고 자료

  1. The 2026-07-28 Specification — Model Context Protocol Blog blog.modelcontextprotocol.io
  2. Scaling AI Agent Infrastructure with the MCP Stateless updates — Google Developers Blog developers.googleblog.com
  3. The MCP 2026-07-28 Rewrite: What Breaks and How to Migrate — Developers Digest www.developersdigest.tech

댓글

이 글에 대한 의견은 아래 댓글로 남겨주세요 (GitHub 계정 필요). 로그인 없이 남기고 싶다면