Skip to content
mcp servers

MCP가 최악의 기능을 제거했습니다

단 하나의 프로토콜 변경으로 누구나 확장 가능한 AI 에이전트를 사용할 수 있게 되었습니다. 하지만 진짜 이야기는 이것이 대부분의 에이전트 인프라의 취약한 기반을 어떻게 드러내는지에 있습니다.

Priya Nair
MCP가 최악의 기능을 제거했습니다

세션 ID의 악몽이 끝났습니다

이전 MCP (Model Context Protocol) 버전은 근본적으로 상태 유지(stateful) 아키텍처를 강제했습니다. 클라이언트는 명시적인 initialize 핸드셰이크로 통신을 시작하여 세션을 설정했습니다. 이 핸드셰이크는 MCP (Model Context Protocol)-Session-Id HTTP 헤더를 반환했으며, 이는 클라이언트를 해당 헤더를 발행한 정확한 서버 인스턴스에 고정하는 역할을 했습니다.

이러한 경직된 상태 유지 방식은 분산 애플리케이션 운영에 상당한 골칫거리를 안겨주었습니다. 개발자가 단일 서버 인스턴스 이상으로 확장할 때, 후속 클라이언트 요청이 로드 밸런서를 통해 다른 백엔드로 라우팅되는 경우가 많았습니다. 원래의 세션 컨텍스트가 없는 새 서버는 예외 없이 400 (HTTP status code) session not found 오류를 반환했습니다.

이 지속적인 오류는 끊임없이 좌절감을 주는 병목 현상이었으며, 원활한 수평적 확장을 적극적으로 방해했습니다. 이를 완화하기 위해서는 상태 비저장(stateless) 프로토콜이어야 할 것에 대해 상당하고 종종 취약한 우회 방법을 사용해야 했습니다.

팀들은 로드 밸런서에 sticky sessions를 구현하여 클라이언트가 특정 백엔드 서버에 고정되도록 강제했습니다. 다른 팀들은 MCP (Model Context Protocol) 인스턴스 외부의 공유 Redis 캐시에 일시적인 세션 ID를 저장했습니다. 이러한 솔루션은 불필요한 복잡성을 도입하고 인프라 오버헤드를 증가시켰습니다.

Stateless MCP가 진정한 확장을 가능하게 하는 방법

MCP (Model Context Protocol)는 이제 완전히 상태 비저장(stateless) 방식으로 작동합니다. 모든 요청은 자체적으로 설명 가능하며, JSON 본문의 `_meta 필드 내에 필요한 모든 컨텍스트를 포함합니다. 이 필드에는 프로토콜 버전, 클라이언트 세부 정보, 필요한 기능과 같은 중요한 정보가 캡슐화되어 있습니다. 이전의 initialize 핸드셰이크와 상태 유지형 MCP (Model Context Protocol)-Session-Id` 헤더는 제거되어 주요 장애 요인이 사라졌습니다.

이 근본적인 아키텍처 변화는 진정한 수평적 확장을 가능하게 합니다. 이제 모든 컨테이너는 사전 초기화나 공유 상태 없이도 들어오는 모든 요청을 처리할 수 있습니다. 표준 라운드 로빈 로드 밸런싱이 즉시 작동하므로, 400 (HTTP status code) "session not found" 오류를 피하기 위해 이전에 필요했던 복잡한 sticky sessions나 공유 Redis 저장소가 더 이상 필요하지 않습니다. 인프라는 본질적으로 더 탄력적으로 변합니다.

트래픽 흐름을 더욱 최적화하기 위해 두 개의 새로운 HTTP 헤더가 사양에 추가되었습니다. `MCP (Model Context Protocol)-MethodMCP (Model Context Protocol)-Name` 헤더는 필수적인 라우팅 정보를 외부로 전달합니다. 이제 방화벽과 로드 밸런서는 이러한 HTTP 헤더만으로 트래픽을 지능적으로 라우팅할 수 있어, 내부 JSON 페이로드를 검사하는 데 드는 높은 컴퓨팅 비용을 피할 수 있습니다. 이러한 직접적인 메타데이터 액세스는 지연 시간을 줄이고 네트워크 거버넌스를 단순화하여 네트워크 엣지에서 중요한 통찰력을 제공합니다.

이제 상태 관리는 당신의 문제입니다 (그리고 그것은 좋은 일입니다)

MCP (Model Context Protocol)는 상태 비저장(stateless) 프로토콜로 작동합니다. 이 구분은 매우 중요합니다. 즉, 프로토콜 자체가 더 이상 세션 상태를 관리하지 않지만, MCP (Model Context Protocol)를 기반으로 구축된 애플리케이션은 여전히 상태를 유지할 수 있다는 의미입니다. 세션 관리 책임은 전적으로 개발자에게 넘어가며, 이전에 sticky sessions나 공유 Redis와 같은 복잡한 우회 방법이 필요했던 "400 (HTTP status code) session not found" 문제가 제거됩니다.

개발자들은 이제 익숙한 HTTP API 패턴을 사용하여 상태 관리를 구현합니다. 도구 호출은 리소스 ID나 세션 토큰과 같은 고유 식별자를 반환할 수 있습니다. 그러면 모델은 후속 요청에 이 불투명한 ID를 포함하여 프로토콜 수준의 개입 없이도 상호 작용 전반에 걸쳐 컨텍스트를 효과적으로 유지합니다. 이러한 접근 방식은 애플리케이션 설계에 훨씬 더 큰 유연성을 제공합니다.

이러한 아키텍처의 진화는 MCP (Model Context Protocol)를 HTTP API 위에 구축된 강력한 도우미 세트로 자리매김하게 합니다. 더 이상 HTTP를 새롭고 맞춤화된 상태 관리 시스템으로 대체하려 하지 않습니다. 확립된 웹 표준과의 이러한 일치는 기존 인프라와의 통합을 단순화하여 개발자가 애플리케이션의 수명 주기와 상태를 직접 제어할 수 있도록 합니다. MCP (Model Context Protocol)-Session-Id 헤더 제거를 포함한 포괄적인 기술 세부 정보는 The 2026-07-28 Specification | Model Context Protocol Blog를 참조하십시오.

이 글이 마음에 드셨나요? 매일 아침 이런 글을 메일로 받아보세요.

하루 한 통 · 두 번의 클릭으로 구독 취소 · 제3자 추적 없음

새로운 생태계: 이것이 개발자에게 의미하는 바

공식 2026-07-28 사양은 이러한 상태 비저장 패러다임을 공식화합니다. 이 중요한 문서는 업계 공동 노력의 일환인 MCP (Model Context Protocol) Transports Working Group에서 나왔습니다. Google과 Hugging Face가 주요 기여자로 참여하여 더 강력한 프로토콜 기반에 대한 폭넓은 합의를 보여주었습니다. 이 통합된 접근 방식은 이전의 파편화를 제거하고 더 넓은 채택을 위한 길을 닦습니다.

주요 플랫폼들이 즉시 새로운 표준을 채택했습니다. Cloudflare와 Netlify는 이미 상태 비저장 MCP (Model Context Protocol)를 지원하여 AI 서비스를 위한 원활한 배포를 제공합니다. 개발자 온보딩을 가속화하기 위해 다음을 위한 업데이트된 SDK를 사용할 수 있습니다:

  • TypeScript
  • Python
  • Go
  • C#

이러한 포괄적인 도구는 복잡성을 추상화하여 통합을 간단하고 효율적으로 만듭니다.

MCP (Model Context Protocol)는 이제 현대 클라우드 인프라 원칙과 완전히 일치합니다. 이 프로토콜은 본질적으로 더 강력하고, 전 세계적으로 액세스 가능하며, 진정으로 확장 가능합니다. 이러한 근본적인 아키텍처 변화는 엔터프라이즈급 AI 애플리케이션 구축의 장벽을 크게 낮추어 개발자가 프로토콜 문제보다는 모델 로직에 집중할 수 있게 합니다. 이는 AI 시스템 설계의 중요한 순간을 의미하며 생태계 전반의 혁신을 촉진합니다.

자주 묻는 질문

Model Context Protocol (MCP)이란 무엇인가요?

MCP는 AI 모델이 외부 도구 및 데이터와 연결되는 방식을 표준화하기 위해 설계된 오픈 표준입니다. 이는 범용 커넥터 역할을 하여 AI 에이전트가 각 서비스에 대한 맞춤형 통합 없이도 실시간 정보에 안전하게 액세스하고 작업을 수행할 수 있도록 합니다.

이전의 상태 저장 MCP의 주요 문제점은 무엇이었나요?

이전 버전에서는 클라이언트를 특정 서버 인스턴스에 고정하는 세션 ID가 필요했습니다. 여러 서버가 있는 확장된 환경에서 요청이 다른 서버에 도달하면 '400 session not found' 오류와 함께 실패하여, 고정 세션(sticky sessions)이나 공유 Redis 저장소와 같은 복잡한 해결 방법을 강요했습니다.

새로운 상태 비저장 MCP는 어떻게 확장성 문제를 해결하나요?

새로운 MCP는 세션 ID를 제거합니다. 이제 모든 요청은 JSON 페이로드 내에 자체 컨텍스트를 포함하므로 독립적입니다. 이를 통해 모든 서버 인스턴스가 모든 요청을 처리할 수 있어 간단하고 효과적인 로드 밸런싱과 원활한 수평적 확장이 가능합니다.

MCP가 상태 비저장이라면, 상태가 필요한 대화는 어떻게 관리하나요?

이제 상태 관리는 개발자의 책임이 되었으며, 이는 MCP를 표준 HTTP API 관행에 맞게 조정합니다. 도구가 ID를 반환하고 모델이 이를 후속 요청에 포함하도록 함으로써 상태를 관리할 수 있으며, 이를 통해 애플리케이션 상태에 대한 완전한 제어와 유연성을 확보할 수 있습니다.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$500 · AI tools & software only