에이전트를 사내 도구에 붙인 팀이 겪는 흔한 장애가 있다. 게이트웨이를 지나며 요청이 다른 인스턴스로 붙고, 진행 중이던 작업이 처음부터 다시 시작된다. 원인은 모델이 아니라 연결이다.
7월 28일 확정된 MCP 2026-07-28 명세는 그 연결을 없앴다. MCP는 양방향 상태 유지 프로토콜에서 요청/응답 프로토콜로 바뀌었다. initialize/initialized 핸드셰이크가 제거됐고, Mcp-Session-Id 헤더와 프로토콜 수준의 세션도 사라졌다. 각 요청이 프로토콜 버전과 클라이언트 신원, 기능을 직접 싣고 다닌다.
운영상의 결과는 분명하다. 스티키 세션, 공유 세션 저장소, 게이트웨이의 패킷 검사가 필요 없어진다. 서버는 평범한 라운드로빈 로드밸런서 뒤에서 돈다. 앤스로픽은 이 변화로 MCP 서버를 서버리스와 엣지에 배포할 수 있다고 밝히며 같은 날 클로드 제품군에 지원을 반영했고, 커넥터 디렉터리에 등록된 서버는 950개를 넘겼다.
상태는 사라진 게 아니라 자리를 옮겼다
오래 걸리는 작업에는 여전히 상태가 필요하다. 명세는 그것을 코어에서 빼내 io.modelcontextprotocol/tasks 확장으로 옮겼다. 폴링 기반 tasks/get과 새로 추가된 tasks/update가 그 역할을 맡는다. 서버가 중간에 사용자 확인을 받아야 하는 경우는 열린 스트림 대신 MRTR(Multi Round-Trip Requests)로 처리한다.
연결이 들고 있던 상태를, 조회 가능한 작업 객체가 대신한다. 실패 복구의 단위가 대화 재시작에서 작업 재조회로 바뀐다. 대신 작업 저장소와 폴링 비용은 서버를 만드는 쪽이 떠안는다.
| 이전 | 2026-07-28 이후 | |
|---|---|---|
| 연결 개시 | initialize 핸드셰이크 | 요청마다 버전·신원 전달 |
| 세션 식별 | Mcp-Session-Id 헤더 | 없음 |
| 서버 주도 요청 | 열린 스트림 | MRTR |
| 장시간 작업 | 실험적 코어 API | tasks 확장, 폴링 |
모델 왕복을 줄이는 압력은 프로토콜 밖에서도 같다
OpenAI가 7월 공개한 GPT-5.6에는 programmatic tool calling이 들어갔다. 모델이 자바스크립트를 작성해 도구 호출을 엮고, 중간 결과를 네트워크가 차단된 격리 V8 런타임 안에서 처리한다. 단계마다 모델로 돌아오지 않는다. 다만 단계마다 새로운 판단이 필요 없는, 경계가 분명한 도구 중심 작업에만 쓰라는 단서가 붙어 있다.
GitHub은 코파일럿 에이전트 세션을 SIEM 수집기로 스트리밍하거나 REST로 최근 48시간을 조회하게 열었다. 세션은 붙잡고 있어야 할 것이 아니라 나중에 꺼내 보는 기록이 됐다. 세 곳이 같은 방향으로 움직인다.
청구서는 12개월 뒤에 온다
Roots, Sampling, Logging, 동적 클라이언트 등록(DCR), 레거시 HTTP+SSE 전송이 폐기 예고됐다. 최소 12개월은 동작한다. 인증은 DCR에서 CIMD로 넘어가고 RFC 9207 발급자 검증이 들어간다. 리소스 없음 오류 코드는 -32002에서 -32602로 바뀐다. 지금 도는 서버가 당장 죽지는 않지만, 이름만 바꾼 변경도 아니다.
명세 지원과 구현 성숙도는 다르다. Tier 1 SDK(TypeScript, Python, Go, C#)가 당일 지원했다고 해서 사내 게이트웨이와 인증 서버, 감사 파이프라인이 따라온 것은 아니다.
교육·AX 현장에서 이 변화의 의미는 하나다. 에이전트 도입 논의를 어떤 모델을 붙일지가 아니라, 작업 상태를 누가 어디에 보관하고 어떻게 다시 꺼낼지에서 시작해야 한다.