Claude Code로 30분 작업하면 컨텍스트 창의 40%가 사라집니다. 도구를 쓸수록 공간이 줄어드는 이 구조적 문제를 정면으로 해결하는 MCP 서버가 나왔습니다.

시니어 소프트웨어 엔지니어 Mert Köseoğlu가 자신의 Claude Code 세션을 더 오래 유지하려고 직접 만든 오픈소스 MCP 서버, Context Mode입니다. 315 KB의 도구 출력을 5.4 KB로 압축해 컨텍스트 소진을 98% 줄였고, 작업 가능한 세션 시간을 30분에서 3시간으로 늘렸습니다.
출처: Stop Burning Your Context Window — We Built Context Mode – mksg.lu
MCP 도구가 컨텍스트를 어떻게 소모하는가
MCP는 AI 에이전트가 외부 도구를 사용하는 표준 방식으로 자리잡았지만, 구조적 긴장이 하나 있습니다. 도구를 정의하는 데 토큰이 들어가고, 도구가 반환하는 원시 데이터에도 토큰이 들어갑니다. 81개 이상의 도구가 활성화된 환경에서는 첫 메시지를 보내기도 전에 이미 143K 토큰(전체의 72%)이 사라집니다.
실제 수치는 더 직관적입니다. Playwright 스냅샷 한 번에 56 KB, GitHub 이슈 20개 조회에 59 KB, 접근 로그 파일 하나에 45 KB. 이 숫자들이 쌓이면서 200K 컨텍스트 창이 빠르게 바닥을 드러냅니다. Cloudflare가 도구 정의 압축 문제를 해결했다면, Context Mode는 도구 출력 압축 문제를 다룹니다.
두 가지 핵심 메커니즘
샌드박스 실행: execute 명령이 호출되면 격리된 서브프로세스가 생성됩니다. 코드가 실행되고, 표준 출력(stdout)만 대화 컨텍스트로 들어옵니다. 원시 데이터 — 로그 파일, API 응답, 스냅샷 — 는 샌드박스 밖으로 나오지 않습니다. JavaScript, Python, Go, Rust 등 10개 언어 런타임을 지원하며, gh, aws, kubectl 같은 인증된 CLI도 자격증명 노출 없이 사용할 수 있습니다.
지식베이스 검색: index 도구는 마크다운 콘텐츠를 헤딩 단위로 청킹하고 SQLite FTS5 가상 테이블에 저장합니다. 검색은 BM25 랭킹 알고리즘을 사용하며, Porter 스테밍을 적용해 “running”, “runs”, “ran”이 같은 어근으로 매칭됩니다. search를 호출하면 요약이 아닌 실제 인덱싱된 코드 블록이 반환됩니다. URL도 같은 방식으로 처리해 원본 페이지가 컨텍스트에 직접 들어오지 않습니다.
실제로 얼마나 줄어드나
11개 실제 시나리오에서 검증한 결과입니다.
| 작업 | 원본 | 압축 후 |
|---|---|---|
| Playwright 스냅샷 | 56 KB | 299 B |
| GitHub 이슈 20개 | 59 KB | 1.1 KB |
| 접근 로그 500건 | 45 KB | 155 B |
| CSV 분석 500행 | 85 KB | 222 B |
| Git 로그 153커밋 | 11.6 KB | 107 B |
전체 세션 기준으로는 315 KB가 5.4 KB가 됩니다. 45분 후 컨텍스트 잔량이 기존 60%에서 99%로 유지됩니다.
왜 주목할 만한가
Context Mode가 흥미로운 이유는 사용 방식을 바꾸지 않는다는 점입니다. PreToolUse 훅이 도구 출력을 자동으로 샌드박스로 라우팅하기 때문에 기존 작업 흐름 그대로 사용하면서 컨텍스트 소진 속도가 줄어듭니다.
MCP 생태계가 급성장하면서 “도구를 많이 쓸수록 컨텍스트가 줄어든다”는 역설이 실무 병목으로 부상하고 있습니다. 이 문제를 도구 자체가 아닌 중간 레이어에서 해결하는 접근은, 앞으로 MCP 서버 설계 방식에 영향을 줄 수 있습니다. 구체적인 설치 방법과 지원 런타임 목록은 원문에서 확인할 수 있습니다.
오픈소스(MIT), GitHub: github.com/mksglu/claude-context-mode

답글 남기기