MCP 서버, 과도한 토큰 소모로 문맥 창 점유 문제
- •MCP 서버는 자동 도구 스키마 로딩으로 인해 요청당 5만~7만 5천 토큰의 오버헤드를 발생시킨다.
- •개발자 알리 알-자파리(Ali Al-Jaafari)가 토큰 사용량을 계산하고 구성을 확인하는 로컬 도구 'mcp-audit'을 공개했다.
- •사용자는 사용하지 않는 서버 연결을 해제하고 필요한 서버만 활성화하여 토큰 낭비를 줄일 수 있다.
Model Context Protocol(MCP) 서버가 모든 요청마다 전체 도구 정의 세트를 로드함으로써 문맥 창(context window)을 과도하게 점유하는 문제가 발생하고 있다고 개발자 알리 알-자파리(Ali Al-Jaafari)가 지적했다. 이러한 스키마는 사용자 질문이 처리되기 전에 주입되기 때문에, 연결된 서버마다 상당한 토큰을 소모한다. 실제로 도구 12개 이상을 제공하는 일반적인 서버 5개를 연결할 경우, 호출당 5만에서 7만 5천 토큰의 오버헤드가 발생할 수 있다. 이로 인해 비용 증가와 응답 지연이 나타나며, 결과적으로 AI 모델이 실제 사용자 입력을 처리할 수 있는 문맥 공간이 줄어든다.
알리 알-자파리는 이러한 비효율성을 해결하기 위해 오픈소스 감사 도구인 'mcp-audit'을 발표했다. 이 도구는 도구당 약 200토큰과 서버별 오버헤드를 적용하여 특정 설정의 토큰 사용량을 추산한다. 별도의 외부 의존성 없이 로컬 환경에서 실행되며 깃허브(GitHub)를 통해 이용할 수 있다.
토큰 효율을 최적화하기 위해서는 네 가지 전략이 권장된다. 먼저 사용하지 않는 서버 연결을 해제하고, 검색이나 파일 도구와 같이 중복되는 서비스는 제거해야 한다. 또한 맞춤형 서버의 도구 인터페이스를 10개 이하의 필수 도구로 축소하고 설명을 간결하게 다듬어야 하며, 특수 서버는 필요할 때만 로드하도록 설정해야 한다. 항상 모든 서버를 연결해 두는 방식이 토큰 낭비의 주된 원인이며, 활성 서버 연결을 최적화하는 것만으로도 수만 개의 토큰을 회복할 수 있다.