ChatGPT용 MCP Events 구현 가이드 공개
핵심 내용
MCP 2.0 기반 ChatGPT용 이벤트 구독 가이드가 공개됐다.
자세히 보기
프로토콜 및 워크플로
ChatGPT에서 MCP Events를 구현하려면 MCP 2.0(프로토콜 버전 2026-07-28)과 콜백 URL로 나가는 HTTPS 접근 권한이 필요합니다. 이 시스템은 초안 상태인 MCP Events 사양에 따라 웹훅 전달 및 콜백 검증을 사용하며, 폴링, 스트리밍, gap 또는 terminated 제어 알림은 명시적으로 제외됩니다.
워크플로는 서버가 server/discover 기능에 events: {}를 추가해 이벤트 지원 사실을 알리는 것부터 시작합니다. 서버는 사용 가능한 이벤트를 위한 events/list, 구독 생성을 위한 events/subscribe, 구독 중지를 위한 events/unsubscribe 세 가지 메서드를 구현해야 합니다. ChatGPT는 콜백 URL과 서명 시크릿을 제공해 구독을 시작하며, 이후 서버는 일치하는 이벤트를 해당 URL로 전송합니다.
구독 및 검증
구독은 events/subscribe를 통해 생성되며, Base64 디코딩 시 24~64바이트 크기의 whsec_ 접두사가 포함된 서명 시크릿이 필요합니다. 서버는 데이터를 전송하기 전에 일회용 challenge가 포함된 서명된 요청으로 콜백 URL을 검증해야 합니다. 검증에는 2xx 응답과 에코된 challenge의 상수 시간 비교가 필요합니다. 검증 실패 시 JSON-RPC 오류 -32015가 반환됩니다.
이벤트 전달 및 보안
이벤트는 Standard Webhooks HMAC 방식을 사용하는 webhook-id, webhook-timestamp, webhook-signature 헤더가 포함된 POST 요청으로 전달됩니다. 페이로드 크기는 256 KiB를 초과할 수 없으며, 모델 행동 지침은 포함하지 않아야 합니다. 410 또는 413 응답은 재시도를 금지하며, 일시적 장애에는 지수 백오프를 사용합니다. 쓰기 도구는 순서가 뒤섞이거나 중복 전달될 수 있는 상황에 대비해 멱등성을 보장해야 합니다.
구독 관리
구독은 멱등적이며 서버 재시작 후에도 유지되어야 합니다. ChatGPT는 refreshBefore 날짜 전에 구독을 갱신하며, 사용자 지정 수명을 위한 선택적 ttlMs를 지원합니다. 재생 가능한 이벤트는 커서를 사용해 전달을 재개하며, 재생 불가능한 유형은 cursor: null을 반환합니다. 구독 취소 시에는 원래 이벤트 이름, 인자, 콜백 URL이 일치해야 합니다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.