7 MCP 게이트웨이 버그: 세션 누수, 중단된 SSE, 게이트웨이 모드의 OAuth

해피 패스 데모 이후, 한 Reddit 사용자가 실제 클라이언트와 서버 사이에 MCP 게이트웨이를 배치했을 때 7가지 특정 버그를 겪었습니다. 수정 방법은 프롬프트 엔지니어링이 아니라 명시적인 세션 경계, 도구별 타임아웃, 멱등성, 구조화된 액션 로그, 게이트웨이 수준의 추적, 동시 도구 호출에 대한 테스트였습니다. 그 결과 병렬 도구 소요 시간이 크게 줄었지만, 더 큰 성과는 실패가 어디에 있는지 알게 된 점이었습니다.
실제로 중요했던 7가지 버그
- 클라이언트 간 세션 상태 누출 — 세션 간 공유 상태로 인한 데이터 오염.
- SSE 연결이 조용히 끊김 — 서버 전송 이벤트 연결이 끊어져도 오류가 표시되지 않음.
- 로컬 테스트에서는 잘 작동하던 OAuth 흐름이 게이트웨이 모드에서 실패 — 리디렉션 URI나 토큰 검증이 프록시 뒤에서 실패.
- 탐색 프로브가 오래된 서버 메타데이터 반환 — 캐시된 기능이 서버 업데이트를 반영하지 않음.
- SQLite 쓰기가 병렬 도구 호출을 차단 — 데이터베이스 잠금으로 인해 동시 요청이 직렬화됨.
- 재시도 로직이 도구의 부작용을 중복 실행 — 재시도가 쓰기나 API 호출과 같은 변경 작업을 다시 실행.
- 도구 지연 시간이 모델 호출 대신 게이트웨이 내에 숨겨짐 — 모니터링이 시간을 잘못된 계층에 귀속시킴.
해결책: 더 나은 프롬프트가 아닌 지루한 인프라
작성자가 각 버그에 접근한 방법:
- 명시적인 세션 경계 — 클라이언트별로 분리된 상태, 공유 객체 없음.
- 도구별 타임아웃 정책 — 개별 타임아웃으로 느린 도구가 다른 도구를 지연시키는 것을 방지.
- 가능한 경우 멱등성 — 중복 제거 키나 트랜잭션 동작으로 재시도를 안전하게 만듦.
- 구조화된 액션 로그 — 디버깅을 위한 모든 게이트웨이 액션의 상세하고 파싱 가능한 로그.
- 게이트웨이 수준 추적 — 계층 간 지연 시간을 정확하게 할당하기 위한 분산 추적.
- 동시 도구 호출에 대한 테스트 — 경합 조건을 발견하기 위해 병렬 요청을 발사하는 통합 테스트.
이것들은 프로덕션에서 MCP 게이트웨이를 운영하는 모든 사람을 위한 구체적이고 실용적인 패턴입니다. 게시물의 핵심 통찰력: 어려운 문제는 상태 격리, 조용한 실패, 그리고 관찰 가능성이며, 모델 프롬프트가 아닙니다.
📖 전체 출처 읽기: r/ClaudeAI
👀 See Also

비코더가 파운더 콘텐츠 마케팅을 위한 재사용 가능한 클로드 워크플로우를 구축한 방법
코딩 배경이 전혀 없던 전직 잡지 편집자가 어떻게 우연히 솔로 창업자를 위한 반복 가능한 클로드 워크플로를 만들었는지 공유합니다. 생각을 있는 그대로 쏟아낸 후, 클로드가 플랫폼별 형식에 맞게 재구성합니다.

클로드 코드: 프롬프트 엔지니어링보다 컨텍스트 관리
한 개발자가 Claude Code를 1년간 사용한 후 깨달은 핵심 기술은 프롬프트 작성법이나 모델 선택이 아니라, 더 나은 결과를 얻기 위해 사전에 포괄적인 프로젝트 컨텍스트를 제공하는 것이라고 밝혔습니다.

클로드의 /btw 명령어는 작업 중에 병렬적으로 의사소통할 수 있게 해줍니다.
클로드 AI가 이제 /btw 명령어를 지원하여, AI가 작업을 진행 중일 때도 사용자가 질문, 추가 지시 또는 설명을 할 수 있게 되었습니다. 이로써 현재 워크플로우를 중단하지 않고도 상호작용이 가능해졌습니다.

코드 작성 전 클로드 코드로 하는 프리코딩 루틴: 5가지 MCP 서버
한 개발자가 5개의 MCP 서버(메모리, 코드베이스 그래프, Tavily 검색, Context7 문서)와 안전 후크를 사용하여 환각과 불필요한 수정을 극적으로 줄이는 60-90초 루틴을 공유합니다.