RSS DEV 커뮤니티
팔로우
MCP 스트리밍 HTTP 심층 분석
모델 컨텍스트 프로토콜(MCP)은 HTTP를 사용하여 AI 클라이언트와 서버 간의 통신을 표준화합니다. MCP는 스트림 가능한 HTTP를 활용하여 단일 엔드포인트, 일반적으로 `/mcp`를 통해 요청/응답 및 스트리밍 통신을 모두 용이하게 합니다. 클라이언트는 `/mcp`에 POST 요청을 보내 세션을 초기화하고, 기능을 교환하여 공유 기능을 설정합니다. 그런 다음 클라이언트는 동일한 엔드포인트에 POST 요청을 보내 작업을 실행할 수 있습니다. 서버는 표준 JSON 응답 또는 긴 작업을 위한 스트림 방식의 서버 전송 이벤트(SSE)로 응답합니다. SSE는 서버가 `Content-Type: text/event-stream` 헤더로 표시되는 점진적인 업데이트를 보낼 수 있도록 합니다. 클라이언트는 스트림 방식 응답을 처리하기 위해 `sseclient` 라이브러리를 사용할 수 있습니다. 클라이언트는 선택적으로 `/mcp` 엔드포인트에 GET 요청을 사용하여 SSE 연결을 열어 지속적인 업데이트를 받을 수 있습니다. 스트림 가능한 HTTP는 별도의 엔드포인트를 사용하는 레거시 모델에 비해 접근 방식을 단순화합니다. 이 프로토콜은 전송 수준에서는 상태 비저장(stateless)이지만, 프로토콜 수준에서는 세션 인식(session-aware)입니다. HTTP는 빠르고 단일 응답에 선호되며, SSE는 진행 상황 업데이트 및 지속적인 결과에 이상적입니다. 이 접근 방식은 구현, 디버깅 및 프로토콜의 향후 확장을 용이하게 합니다.