Model Context Protocol (MCP)가 세션 상태를 제거하고, 이를 영수증 방식의 요청과 새로운 server/discover 명령으로 교체했습니다. 이제 개발자들은 AWS Lambda와 같은 서버리스 플랫폼에서 MCP를 실행할 수 있으며, 오랫동안 신뢰성을 저해해 온 "단일 웨이터(single waiter)" 병목 현상을 피할 수 있습니다.

기존 모델이 중요했던 이유

MCP는 원래 특정 서버와의 지속적인 연결이 필요했습니다. 서버는 사용자의 "테이블 번호"—컨텍스트, 규칙 및 대기 중인 작업을 저장하는 숨겨진 세션—를 보유했습니다. 해당 서버가 충돌하면 세션이 사라지고 클라이언트는 처음부터 다시 시작해야 했습니다.

이번 업데이트가 달라진 점

  • 세션 없음 – 각 요청은 어떤 계산원도 읽을 수 있는 식당 영수증처럼 서버에 필요한 모든 정보를 담고 있습니다. "initialize" 핸드셰이크가 사라집니다.
  • 영수증 모델 – 모든 요청의 시작 부분에 있는 작은 메타 블록에는 버전 정보와 필수 매개변수가 포함됩니다. 서버는 요청을 독립적으로 처리한 다음 resultType, ttlMs(밀리초 단위의 유효 시간), cacheScope와 함께 결과를 반환합니다. 이 필드들을 통해 클라이언트는 답변을 안전하게 캐싱하고 만료 시점을 알 수 있습니다.
  • Server/discover – 새로운 명령을 통해 클라이언트가 서버의 현재 기능을 조회할 수 있습니다. 응답은 즉각적이며 이전 상호작용에 의존하지 않습니다.
  • Subscriptions/listen – 호출기(buzzer)처럼 작동합니다. 클라이언트는 업데이트를 구독하고 변경 사항이 있을 때만 알림을 받으므로 폴링(polling) 트래픽을 줄일 수 있습니다.
  • Input_required 흐름 – 서버에 추가 정보가 필요한 경우, 클라이언트에 다시 요청하는 대신 input_required 응답을 반환합니다. 그러면 클라이언트는 후속 요청에서 누락된 데이터를 제공합니다.

서버가 더 이상 상태를 유지하지 않기 때문에, 어떤 상태가 없는(stateless) 컴퓨팅 환경에서도 MCP 엔드포인트를 호스팅할 수 있습니다. 필요할 때 실행되고, 일시 중지되거나, 영역(zone) 간에 이동하는 함수들도 대화 흐름을 끊지 않고 트래픽을 처리할 수 있습니다.

누가 이득을 보고, 누가 걱정해야 하는가

AI 프런트엔드를 구축하는 개발자 – 더 단순하고 신뢰할 수 있는 백엔드를 얻게 됩니다. 인프라 팀 – 저렴한 오토스케일링(auto-scaling) 서비스에서 MCP를 프로비저닝할 수 있습니다. MCP 서버 유지 관리자ttlMs, cacheScope를 출력하고 server/discover 규약을 준수하도록 핸들러를 다시 작성해야 합니다. 지속적인 세션에 의존하던 코드는 리팩토링이 필요합니다. 엄격한 컴플라이언스를 준수하는 기업 – 더 명확한 데이터 수명 주기 제어의 이점을 누릴 수 있습니다.

숨겨진 세부 사항: 버전 협상

모든 영수증에는 클라이언트가 기대하는 프로토콜 버전을 알리는 작은 메타 블록이 포함되어 있습니다.

아직 불확실한 점

다음에 주목해야 할 것

요약

세션 상태를 제거하고 모든 상호작용을 독립적인 영수증으로 전환함으로써, MCP는 이제 서버리스 생태계에 자연스럽게 녹아듭니다. 이러한 변화는 MCP를 더욱 안정적이고 확장 가능하게 만들어, 서버가 어디에서든 실행되고 일반적인 웹 서비스처럼 확장될 수 있게 합니다.