How I Cut MCP Token Usage by 91% (and Learned a Humbling Lesson About Tokenizers)
개요
MCP 서버를 AI 코딩 에이전트에 추가할 때 발생하는 막대한 토큰 사용량을 91% 절감하는 mcptoon CLI 도구가 소개됩니다.
주요 내용
* 문제점: MCP 서버가 AI 코딩 에이전트의 컨텍스트에 전체 JSON 스키마를 로드하여 상당한 토큰을 소비합니다. 255개의 툴은 39,964 토큰을 차지하며, 이는 128K 컨텍스트 창의 31%를 초과하며, API 호출 시 불필요한 JSON 구문 오버헤드가 발생합니다.
* 해결책 (mcptoon CLI):
1. 스키마 압축 (SLIM 형식): 전체 JSON 스키마 대신 파이프(|)로 구분된 간결한 형식으로 툴 정보를 표현합니다. 이를 통해 255개 툴의 토큰 사용량을 39,964에서 3,511로 91% 절감합니다.
2. 제로-컨텍스트 디스커버리: 스키마는 디스크에 저장되며, 에이전트는 mcptoon manifest --slim 명령어로 사용 가능한 툴 목록을 확인하고, mcptoon call <server> <tool> '{"param":"value"}' --toon 명령어로 툴을 실행합니다. 압축된 결과만 컨텍스트에 포함됩니다.
3. TOON 형식 결과: 중첩된 JSON 대신 사람이 읽기 쉬운 키-값 쌍 형식으로 툴 결과를 반환하여 토큰을 절약합니다.
* 교훈: 초기 최적화 시도에서 null 값을 유니코드 기호로 대체하려다 오히려 토큰 수를 증가시키는 실수를 했으며, 이후 모든 최적화는 tiktoken으로 검증하고 있습니다.
* 비용 절감 효과: GPT-4o 기준, mcptoon 미사용 시 25개 요청에 1M 토큰(약 $5)이 소요되지만, mcptoon 사용 시 87.5K 토큰(약 $0.44)으로 크게 절감됩니다. 일일 100세션 기준으로 월 약 $540 절감 효과를 기대할 수 있습니다.
* 시작 방법: pip install mcptoon으로 설치 후, mcptoon add, mcptoon manifest --slim, mcptoon call 명령어를 사용하여 MCP 서버와 툴을 관리할 수 있습니다.
* 향후 계획: 더 많은 MCP 서버 지원, 엄격한 품질 벤치마크 개발, SLIM 형식 개선 및 사용자 피드백 수렴을 계획 중입니다.
시사점
mcptoon은 AI 에이전트 개발에서 토큰 사용량 최적화를 통해 상당한 비용 절감과 효율성 향상을 달성할 수 있음을 보여주며, 개발자는 최적화 과정에서 객관적인 측정과 검증의 중요성을 인식해야 합니다.
댓글
GitHub Discussions