도구 호출 40번을 스크립트 하나로 줄였다
MCP 서버를 에이전트가 코드로 호출하게 만든 도구, 컨텍스트 99.7% 절감 실측
에이전트가 외부 도구를 한 번에 하나씩 부르는 대신 스크립트를 짜서 한꺼번에 처리하게 만드는 오픈소스 도구가 공개됐다. 에이전트 코드모드(agent-codemode)라는 이름의 이 프로젝트는 코딩 에이전트가 이미 로그인해 둔 MCP 서버 연결을 그대로 빌려 쓴다. 만든 사람이 내건 요약은 이렇다 — 도구 호출 40번 대신 스크립트 하나.
무슨 일인가 / 배경
MCP는 에이전트가 외부 서비스에 연결하는 표준 통로다. 문제는 호출 방식이다. 티켓 관리 도구에서 항목을 하나씩 가져와야 한다면 에이전트는 요청 하나를 보내고, 결과를 읽고, 다음에 무엇을 물을지 판단한 뒤 다시 요청을 보낸다. 이 왕복이 반복되는 동안 중간 결과가 전부 대화 맥락에 쌓이고, 한 번 쌓인 내용은 이후 모든 차례마다 다시 읽힌다.
개발자는 이 낭비를 실제 작업으로 측정했다. 티켓 39건이 있는 실사용 작업 공간에서 '진행 중' 상태인 티켓을 본문까지 전부 가져와 특정 단어가 몇 번 나오는지 세는, 흔한 종류의 일이었다.
핵심 짚어보기
측정 결과는 두 방식의 차이를 그대로 보여 준다. 도구를 하나씩 부르는 방식은 맥락에 26만 2,159자, 대략 6만 5,500토큰을 밀어 넣었고 왕복은 40회였다. 같은 일을 스크립트 한 개로 처리하자 903자, 약 226토큰에 왕복 1회로 끝났다. 맥락 기준 290배 차이, 비율로는 99.66% 절감이다. 토큰 수치는 네 글자를 한 토큰으로 보는 어림 계산이라 실제와는 다소 차이가 있다.
체감 차이가 더 큰 쪽은 속도다. 40번의 순차 호출은 매번 다음에 무엇을 물을지 모델이 판단할 때까지 기다린다. 스크립트는 같은 요청을 중간에 멈춰 생각하지 않고 이어 보낸다.
정확도도 걸린다. 26만 자에서 특정 단어 개수를 세는 일을 모델이 읽어서 처리하면 결과는 어림값이 된다. 세기·합계·정렬처럼 답이 정해진 계산은 모델이 아니라 코드가 해야 맞는 숫자가 나온다.
설치는 노드(Node) 18 이상 환경에서 패키지 하나를 전역 설치하면 끝이고, 별도의 API 키 발급이나 인증 절차, 배포할 샌드박스가 필요 없다. 로그인된 서버 목록을 확인하고, 특정 서버의 기능을 조회하고, 명령줄에서 바로 호출해 보고, 연결된 모든 서버의 타입스크립트 타입을 뽑아내는 명령이 갖춰져 있다. 클로드 코드(Claude Code)용 스킬 파일도 함께 들어 있어 에이전트에게 사용법을 통째로 넘길 수 있다.
1인기업 실전 적용 포인트
- 남은 스크립트를 그대로 자동화에 태워라. 이 방식의 진짜 이득은 절감률이 아니라 결과물이 파일로 남는다는 데 있다. 티켓 정리나 재고 대조처럼 판단이 필요 없는 일은 한 번 스크립트로 굳혀 두면 내일부터는 모델 없이, 토큰 0으로 돈다.
- 서버 두 곳 이상을 오가는 작업부터 옮겨라. 스프레드시트와 주문 내역을 맞춰 보거나 일정과 할 일 목록을 대조하는 식으로 여러 곳을 왕복하는 일이 절감 효과가 가장 크다.
- 숫자가 답인 일은 반드시 코드로 처리하라. 건수·합계·중복 확인을 요약으로 받고 있었다면 그 숫자는 검증된 값이 아니다. 매출 집계나 재고 수량처럼 틀리면 손해로 이어지는 항목일수록 이 원칙이 중요하다.
- 타입을 미리 뽑아 두라. 연결된 서버의 타입 정의를 생성해 두면 에이전트가 없는 기능을 지어내 호출하는 실수를 크게 줄일 수 있다.
전망 / 주의점
주의할 점은 권한이다. 이 도구는 본인 계정으로 이미 인증된 연결을 그대로 사용하므로, 에이전트가 쓴 스크립트가 실행되면 실제 데이터에 그대로 닿는다. 삭제·수정이 섞인 스크립트는 사람이 내용을 확인한 뒤 실행하는 습관을 들여야 한다. 별 26개 수준의 초기 단계 프로젝트라는 점, 제시된 절감 수치는 특정 작업 하나를 잰 값이라 데이터 성격에 따라 달라진다는 점도 감안할 필요가 있다. 다만 왕복을 줄이면 맥락과 시간이 함께 줄어든다는 원리 자체는 상황을 가리지 않는다.
출처: 깃허브 janwilmake/agent-codemode (https://github.com/janwilmake/agent-codemode)