2026 MCP 스펙: 서버 준비 상태 체크리스트
차기 Model Context Protocol (MCP) 사양이 7월 28일에 출시됩니다. 이는 프로토콜 출시 이후 가장 큰 규모의 업데이트입니다. 전송(transport), 권한 부여(authorization) 및 도구 스키마(tool schemas)에 대한 중대한 변경 사항(breaking changes)이 포함되어 있습니다.
현재 서버가 2025-11-25 스펙을 따르고 있다면 지금은 정상 작동합니다. 하지만 이번 변경 사항에는 요청 라우팅 및 캐시 범위(cache scope)를 위한 새로운 보안 속성이 포함되어 있습니다.
마감 기한 전에 서버를 준비할 수 있도록 이 체크리스트를 활용하세요.
주요 변경 사항: 무상태(Stateless) 프로토콜 MCP는 프로토콜 계층에서 무상태 모델로 전환됩니다.
initialize/initialized핸드셰이크를 제거합니다.- 프로토콜 버전과 클라이언트 정보를 모든 요청의
_meta필드로 이동합니다. - 기능 협상(capability negotiation)을 위해
server/discover를 구현합니다. Mcp-Session-Id사용을 중단하고 스티키 세션(sticky sessions)의 필요성을 제거합니다.- 호출 간 상태(cross-call state)를 명시적인 도구 인자(예:
basket_id)로 이동합니다. - Streamable HTTP를 위해
Mcp-Method및Mcp-Name헤더를 사용합니다. - 헤더와 본문(body)이 일치하지 않는 요청은 거부합니다.
입력 처리 및 서버 주도 요청(Server-Initiated Requests) 무상태 프로토콜이라 하더라도 클라이언트에게 정보를 요청해야 할 때가 있습니다.
- 클라이언트 요청을 처리하는 동안에만 서버 주도 요청을 발행합니다.
- SSE 스트림을 계속 열어두는 대신
InputRequiredResult를 사용합니다. requestState를 신뢰할 수 없는 것으로 취급합니다. 재전송 공격(replay attacks)을 방지하기 위해 서명하거나 암호화하십시오.
캐시 및 트레이싱(Tracing) 새로운 필드를 통해 데이터의 최신성과 가시성을 관리할 수 있습니다.
list및resource-read결과에ttlMs와cacheScope를 추가합니다.- 사용자 또는 테넌트의 민감도에 맞춰
cacheScope를 설정합니다. _meta에 고정된 W3C Trace Context 키 이름을 사용합니다.- 신뢰 경계(trust boundaries)에서
baggage필드의 민감한 데이터를 삭제(scrub)합니다.
권한 부여 및 스키마 보안 이번 스펙은 OAuth 2.0에 더 가깝게 정렬되었으며 스키마 안전성을 향상시켰습니다.
- 권한 부여 응답에
iss파라미터를 제공합니다. - 동적 클라이언트 등록(Dynamic Client Registration) 시
application_type을 준수합니다. - 도구 스키마에 JSON Schema 2020-12를 채택합니다.
- SSRF 공격을 방지하기 위해 외부
$refURI를 절대 자동으로 역참조(dereference)하지 마십시오. - DoS를 방지하기 위해 스키마 깊이와 검증 시간을 제한합니다.
- 리소스가 누락된 경우
-32002대신-32602를 반환합니다.
지원 중단 및 확장 Roots, Sampling, Logging은 지원이 중단됩니다. tool parameters, LLM provider API 또는 OpenTelemetry로 전환할 계획을 세우십시오.
- capability map을 통해 확장을 협상하십시오.
- 실험적인 Tasks 사용 방식을 새로운 extension lifecycle로 마이그레이션하십시오.
- 호스트 검토를 위해 MCP Apps UI 템플릿을 사전에 선언하십시오.
워크로드에 대해 이러한 변경 사항을 검증할 수 있도록 마이그레이션을 조기에 시작하십시오.
출처: https://dev.to/gustavo_gated/the-2026-07-28-mcp-spec-a-server-readiness-checklist-14nf
선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi