Code Mode를 통한 MCP 컨텍스트 오버헤드 완화
- •MCP 서버는 도구 로드 시 최대 40만 토큰을 소모하는 컨텍스트 과부하 문제에 직면해 있다.
- •Cloudflare의 Code Mode MCP는 실행 기반 도구를 활용해 입력 토큰 사용량을 99.9% 절감했다.
- •ZenStack은 스키마와 실행을 분리한 접근 방식을 채택하여 복잡한 데이터베이스 쿼리의 토큰 효율을 개선했다.
AI 모델을 외부 데이터와 연결하는 표준인 MCP(Model Context Protocol)는 대규모 도구 스키마가 모델의 가용 메모리를 소진하는 '컨텍스트 비대화(Context bloating)' 문제로 비판받고 있다. 복잡한 MCP 서버 도구를 로드할 경우 최대 40만 토큰이 소모되어, 많은 애플리케이션에서 사용이 불가능한 수준이다. 이러한 현상은 심층적으로 중첩된 데이터베이스 관계를 허용하는 ORM(Object-Relational Mapping) 쿼리 API를 노출할 때 특히 두드러진다. 이에 따라 개발자들은 기존의 MCP 도구 스키마보다 토큰 효율성이 높은 CLI 기반 워크플로우를 우선시하는 에이전트 스킬(Agent Skills)을 도입하는 추세다.
최근 Cloudflare는 MCP를 위한 'Code Mode'를 도입했다. 이 방식은 'search'와 'execute'라는 두 가지 도구만 노출하여 API 상호작용을 간소화한다. 모델이 직접 코드를 작성하게 함으로써 API 엔드포인트 수와 관계없이 고정된 메모리 점유율을 유지할 수 있다. 실제로 Cloudflare는 이 방식을 구현하여 입력 토큰 사용량을 99.9% 줄였으며, 요청당 총 토큰 소모량을 약 1,000개 수준으로 낮췄다. 이러한 설계에 착안하여 ZenStack 또한 데이터베이스 중심의 MCP 서버에 유사한 구조를 적용해 확장성 문제를 해결했다.
ZenStack의 구현은 'schema', 'execute', 'check' 등 3가지 특화 도구를 사용한다. 'schema' 도구는 전체 애플리케이션 스키마를 모델에 전달하고, 'execute'는 'findMany'나 'createMany'와 같은 함수 호출을 처리한다. 'check' 도구는 실행 전 쿼리 파라미터를 검증하여 정확성을 보장하고 런타임 오류를 줄인다. 50개 이상의 모델을 포함한 복잡한 애플리케이션 환경에서 Sonnet 4.6 기반의 Claude 데스크톱을 통해 테스트한 결과, 10개 이상의 중첩 모델이 포함된 쿼리를 성공적으로 관리했다. 이 방식은 중복된 스키마 정의로 인한 컨텍스트 창 오버헤드를 방지하면서도 쿼리 작업의 유효성과 성능을 유지한다.