Claude Code context 소비를 98% 줄이는 MCP 서버, Context Mode
MCP server that reduces Claude Code context consumption by 98%
TL;DR Highlight
오픈소스 MCP 서버는 MCP 도구 호출 출력을 315KB에서 5.4KB로 압축하여 context window 압박을 해결하고 세션 지속 시간을 6배 연장한다.
Who Should Read
Claude Code에서 MCP 도구를 여러 개 연결해 쓰면서 context window가 금방 차서 세션이 끊기는 경험을 한 개발자. Playwright, GitHub CLI, 로그 분석 등 출력이 큰 도구를 자주 쓰는 사람.
Core Mechanics
- MCP 도구를 많이 쓰면 도구 정의(input)와 도구 출력(output) 양쪽에서 context window가 소모된다. 도구 81개 활성화 시 첫 메시지 전에 이미 143K 토큰(72%)이 사라지고, Playwright 스냅샷 한 번에 56KB, GitHub 이슈 20개 조회에 59KB가 추가로 날아간다.
- Context Mode는 도구 출력을 격리된 subprocess(sandbox)에서 실행하고, stdout만 대화 context에 넣는 방식으로 작동한다. raw 데이터(로그, API 응답, 스냅샷)는 sandbox 안에 남고 요약된 결과만 나온다. LLM 호출 없이 순수 알고리즘 기반이다.
- Knowledge Base 기능은 마크다운을 헤딩 기준으로 청킹하고 SQLite FTS5 테이블에 저장한다. BM25 랭킹과 Porter stemming을 적용해서 'running', 'runs', 'ran' 같은 변형도 같은 단어로 매칭한다. URL을 fetch해서 HTML→마크다운 변환 후 인덱싱하는 것도 가능하다.
- 실측 결과: Playwright 스냅샷 56KB→299B, GitHub 이슈 20개 59KB→1.1KB, 접근 로그 500건 45KB→155B, CSV 500행 85KB→222B. 전체 세션 기준 315KB가 5.4KB로 줄어들고, 세션 지속 시간이 ~30분에서 ~3시간으로 늘어났다.
- 설치는 Plugin Marketplace(`/plugin marketplace add mksglu/claude-context-mode`) 또는 MCP 직접 추가(`claude mcp add context-mode -- npx -y context-mode`) 두 가지 방식이 있다.
- PreToolUse hook으로 도구 출력을 자동 라우팅하기 때문에 사용자가 작업 방식을 바꿀 필요가 없다. Bash subagent를 general-purpose로 자동 업그레이드해서 batch_execute를 쓸 수 있게 한 것이 실사용에서 큰 차이를 만들었다고 한다.
- Cloudflare의 Code Mode가 도구 정의(input)를 99.9% 압축한 것에 영감받아, 반대 방향인 도구 출력(output) 압축을 구현한 프로젝트다. MIT 라이선스 오픈소스.
- JavaScript, TypeScript, Python, Shell, Ruby, Go, Rust, PHP, Perl, R 총 10개 런타임을 지원하며, Bun이 감지되면 JS/TS 실행이 3~5배 빨라진다. gh, aws, gcloud, kubectl 같은 인증된 CLI도 credential passthrough로 사용 가능하다.
Evidence
- 한 댓글에서 BM25만으로는 JSON, 테이블 같은 구조화된 데이터에서 키워드 매칭이 약하다는 지적이 나왔다. 본인이 15,800개 파일의 Obsidian vault를 검색하기 위해 Model2Vec 임베딩 + sqlite-vec 벡터검색 + FTS5 BM25를 Reciprocal Rank Fusion(RRF)으로 합친 하이브리드 검색을 만들었다고 소개했다. 49,746개 청크를 83MB DB에 담고, 증분 인덱싱은 10초 이내로 가능하다고 한다.
- hook이 너무 공격적이라는 비판이 있었다. curl로 200바이트짜리 health check 응답을 받는 것까지 sandbox로 우회하는 건 과하고, git log 153개 커밋을 107바이트로 압축하면 모델이 완벽한 추출 스크립트를 미리 작성해야 하는데 실제로는 그렇지 못할 때가 많다는 지적이다.
- 정보 손실과 hallucination 위험에 대한 우려도 있었다. 모델이 좋은 추출 스크립트와 검색 쿼리를 작성할 수 있다고 가정하지만, 불완전한 데이터로 인해 오히려 hallucination이 늘 수 있다는 의견이다.
- prompt caching과의 상호작용을 걱정하는 댓글이 있었다. 캐시된 full query가 정보도 많고 비용도 싼데, 이 도구가 캐시를 깨트리면 오히려 손해라는 지적이다. 다만 하이브리드 검색을 만든 댓글러는 압축된 출력이 결정적(deterministic)이라 오히려 캐싱에 도움이 된다고 반론했다.
- louie.ai에서는 비슷한 문제를 DB 쿼리 결과를 in-memory parquet 데이터프레임으로 만들고 토큰 최적화된 요약 뷰('... + 1M rows' 같은 힌트 포함)를 LLM에 넘기는 방식으로 해결한다는 경험 공유가 있었다. MCP 프로토콜이 바이너리 콘텐츠 타입을 지원하니 Apache Arrow 같은 포맷으로 전환하면 더 좋겠다는 아이디어도 나왔다.
How to Apply
- Claude Code에서 Playwright, GitHub CLI, 로그 파일 등 출력이 큰 MCP 도구를 3개 이상 사용 중이라면 `claude mcp add context-mode -- npx -y context-mode`로 설치해서 세션 지속 시간을 체감해본다. 특히 30분 내로 context가 차는 경험이 있다면 효과가 크다.
- Context Mode 적용 전후 토큰 소비량을 측정하고 싶으면 댓글에서 소개된 claude-trace(`https://github.com/vexorkai/claude-trace`)를 함께 설치해서 세션별, 도구별 토큰 사용량과 비용을 추적한다.
- MCP 도구 대신 CLI 도구(gh, git 등)를 직접 쓰는 것만으로도 토큰 절약 효과가 있다. 출력이 작은 단순 조회는 CLI로, 출력이 큰 복잡한 작업만 Context Mode sandbox를 타게 hook을 조정하면 정보 손실 없이 최적화할 수 있다.
- Knowledge Base 기능으로 프로젝트 문서나 외부 API 문서를 미리 인덱싱해두면, 매번 fetch하지 않고 FTS5 검색으로 필요한 부분만 context에 넣을 수 있다. `fetch_and_index`로 URL을 바로 인덱싱 가능하다.
Code Example
# MCP-only 설치 (도구만 사용)
claude mcp add context-mode -- npx -y context-mode
# Plugin Marketplace 설치 (auto-routing hook + slash command 포함)
/plugin marketplace add mksglu/claude-context-mode
/plugin install context-mode@claude-context-modeTerminology
관련 논문
로컬에서 SOTA LLM 실행하기 완전 가이드 (하드웨어부터 설정까지)
2천 달러짜리 RTX 3090 한 장부터 4만 달러짜리 RTX PRO 6000 4장 셋업까지, 로컬에서 최신 LLM을 직접 돌리는 방법을 하드웨어 선택·구성·실행 설정까지 통째로 정리한 실전 가이드다.
Manticore Search에서 ONNX 경로를 재설계해 임베딩 속도를 14배 높인 방법
Manticore Search가 기존 SentenceTransformers/Candle 백엔드를 ONNX Runtime으로 교체해 텍스트 임베딩 생성 속도를 평균 14배 향상시켰다. 별도 모델 서비스 없이 DB 내부에서 직접 임베딩을 처리하는 구조에서 INSERT 속도가 곧 임베딩 속도이기 때문에 이 개선은 실질적인 ingest 처리량 향상으로 직결된다.
Asymmetric Quantization: 97% 스토리지 절감으로 Late Interaction 검색 품질 유지하기
멀티벡터 검색 모델의 문서 벡터를 1비트 이진값으로 압축하고 쿼리 벡터만 int8로 유지하는 비대칭 양자화 기법으로, 스토리지를 97% 줄이면서 검색 품질 손실을 0.61점(NDCG@10 기준)에 그치게 만든 실제 프로덕션 적용 사례다.
Bash4LLM+ – 의존성 없는 경량 Bash LLM API 래퍼
Python이나 Node.js 없이 순수 Bash만으로 Groq 등 OpenAI 호환 LLM API를 호출할 수 있는 단일 스크립트 도구로, Termux(Android)를 포함한 모든 Unix 환경에서 동작한다.
Wayfinder Router: 로컬과 hosted LLM 간 deterministic 쿼리 라우팅 도구
프롬프트의 복잡도를 모델 호출 없이 오프라인으로 점수화해서 간단한 쿼리는 로컬 모델로, 어려운 쿼리는 유료 모델로 자동 라우팅하는 CLI 도구다. LLM 비용을 줄이면서도 응답 품질을 유지하고 싶은 개발자에게 유용하다.
Apple Neural Engine: 아키텍처, 프로그래밍, 성능 (리버스 엔지니어링 가이드)
Apple 기기에 내장된 AI 전용 칩인 ANE(Apple Neural Engine)를 리버스 엔지니어링으로 분석한 302페이지짜리 기술 문서로, Core ML 아래 숨겨진 내부 구조와 직접 접근 경로를 처음으로 공개한다.