MCP 버전 2가 2026년 7월 28일에 출시됩니다. 모든 핸드셰이크(handshake), 세션 ID 헤더, 그리고 Model Context Protocol(MCP)을 스티키 세션(sticky-session) 서버에 종속시켰던 세 가지 레거시 서브시스템이 제거됩니다. 프로토콜이 완전히 무상태(stateless)로 전환됨에 따라, 클라이언트 상태를 유지할 필요 없이 오토스케일링되거나 서버리스인 어떤 인스턴스라도 모든 요청을 처리할 수 있게 됩니다.
이러한 변화가 중요한 이유
MCP v1에서는 클라이언트가 initialize 핸드셰이크로 세션을 시작해야 했으며, 서버는 이후 Mcp-Session-Id를 할당했습니다. 이후의 모든 호출은 해당 헤더를 포함해야 했으므로 사용자는 단일 백엔드 노드에 고정되었습니다. 로드 밸런서는 세션 어피니티(session affinity)를 강제해야 했고, 이는 지연 시간과 운영상의 마찰을 초래했습니다.
무상태성은 이러한 마찰을 제거합니다. 이제 모든 컨텍스트는 각 HTTP 호출과 함께 전달되는 전용 메타 필드에 저장됩니다. 요청은 어떤 인스턴스로든 전달되어 처리될 수 있으며, 응답이 전송되는 즉시 해당 인스턴스는 폐기될 수 있습니다. 서버리스 플랫폼, 컨테이너 오케스트레이션 클러스터, 또는 필요에 따라 포드(pod)를 생성하고 삭제하는 환경을 사용하는 팀은 이제 프로토콜을 자신들의 인프라에 맞게 최적화할 수 있습니다.
폐기되는 기능
지속적인 연결에 의존하던 세 가지 서브시스템이 공식적으로 지원 중단(deprecated)됩니다.
- Sampling – v1에서는 서버가 클라이언트에게 텍스트 생성을 요청할 수 있었으며, 이 패턴은 열려 있는 세션을 필요로 했습니다. v2에서는 서버가 대규모 언어 모델(LLM) 제공업체를 직접 호출하거나, 클라이언트가 후속 요청에서 누락된 입력을 제공하는
InputRequiredResult패턴을 사용할 것을 권장합니다. - Roots – 이전에는 클라이언트가 서버의 외부 리소스 가시성을 제한하는 URI를 전송했습니다. 새로운 방식에서는 이러한 URI를 도구(tool) 파라미터로 전달하거나 요청의 리소스 필드에 포함시켜, 별도의 "roots" 협상 단계를 제거합니다.
- Logging – 프로토콜 수준의 로깅 헤더가 사라집니다. 로컬 디버깅을 위해서는
stderr에 기록하거나, 프로덕션 관측성(observability)을 위해 OpenTelemetry를 도입하십시오.
지원 중단 유예 기간은 1년입니다. 지원 중단된 기능은 해당 기간 동안 계속 작동하므로, 팀은 프로토콜에서 해당 기능이 완전히 거부되기 전에 리팩터링할 시간을 가질 수 있습니다.
무상태성 외에 새로 추가된 기능
MCP v2에는 두 가지 공식 확장 기능이 추가됩니다.
- MCP Apps – 프로토콜이 호출할 수 있는 서버 렌더링 사용자 인터페이스를 설명하는 경량 방식입니다.
- Tasks – 여러 번의 요청-응답 주기에 걸쳐 실행될 수 있는 장기 실행 작업(long-running operations)을 처리하기 위한 패턴입니다.
두 확장 기능 모두 무상태 요청 모델을 가정하며 숨겨진 세션 상태를 피합니다.
리스크 및 주의사항
이번 변경 사항은 단순히 플러그 앤 플레이(plug-and-play) 방식으로 업그레이드할 수 있는 것이 아닙니다. v2 SDK는 아직 베타 단계이며, 안정적인 버전이 출시되기 전까지 공개 API가 변경될 수 있습니다. Breaking changes를 허용할 수 없는 프로덕션 워크로드의 경우, v2 SDK가 정식 출시될 때까지 안정적인 v1 SDK를 계속 사용하십시오.
개발자는 또한 기존 코드에서 지원 중단된 세 가지 서브시스템 중 하나라도 사용되고 있는지 감사(audit)해야 합니다.
실용적인 마이그레이션 로드맵
- 오늘 즉시 감사 실시 – 핸드셰이크,
Mcp-Session-Id, 샘플링 호출, roots URI 및 프로토콜 수준 로깅의 사용 여부를 서비스 전반에서 스캔하십시오. 무상태 모델에서 작동이 중단될 코드를 식별하십시오. - 비핵심 노드에서 테스트 – 안정적인 v2 SDK가 출시되면 샌드박스 서버를 실행하고 테스트 클라이언트에 연결하여, 필요한 모든 메타 필드가 존재하고 올바르게 해석되는지 확인하십시오.
- 마감 전 전체 마이그레이션 완료 – 런타임 거부를 방지하기 위해 1년의 유예 기간이 끝나기 전에 모든 프로덕션 노드에 대한 전환을 완료하십시오.
향후 주목해야 할 사항
- 안정적인 SDK 출시 – 베타 SDK의 기능이 동결되고 버전이 지정된 안정적인 패키지가 게시될 것입니다. 해당 버전은 중요한 배포를 위한 안전한 대상이 될 것입니다.
전환 과정에서 코드 변경과 짧은 베타 SDK 실험 기간이 필요하겠지만, 그 대가로 모든 LLM 기반 애플리케이션에 대해 더 깔끔하고 확장 가능한 통합 지점을 얻게 될 것입니다.
핵심 요약: 만약 귀하의 스택이 여전히 MCP 핸드셰이크나 세 가지 지원 중단된 서브시스템에 의존하고 있다면, 지금 즉시 감사를 시작하십시오. 1년의 유예 기간은 넉넉해 보일 수 있지만, 실제 비용은 마감 기한이 아니라 리팩터링에 드는 노력입니다.
