AI Sparkup

복잡한 AI 세상을 읽는 힘 ⚡

MCP 서버 없이 AI 에이전트 도구 만들기: 토큰 98% 절약하는 Bash 스크립트 전략

AI 에이전트와 작업할 때 MCP(Model Context Protocol) 서버를 쓰는 게 당연하다고 생각하시나요? 사실 많은 경우 더 간단하고 효율적인 방법이 있습니다.

사진 출처: mariozechner.at

게임 개발자이자 엔지니어 Mario Zechner가 AI 에이전트를 위한 도구를 만드는 더 효율적인 방법을 제시했습니다. 그의 핵심 주장은 간단합니다. 유명한 브라우저 MCP 서버들이 13,000~18,000개의 토큰을 소비하는 반면, 같은 작업을 4개의 간단한 Bash 스크립트로 해결하면 225토큰만 사용한다는 것이죠. 토큰을 98% 이상 절약할 수 있다는 뜻입니다.

출처: What if you don’t need MCP at all? – mariozechner.at

MCP 서버, 왜 비효율적일까?

Playwright MCP는 21개 도구로 13,700토큰을, Chrome DevTools MCP는 26개 도구로 18,000토큰을 사용합니다. Claude의 컨텍스트 윈도우 중 6.8~9%를 차지하는 셈이죠. 이렇게 많은 도구는 에이전트를 혼란스럽게 만들 수 있습니다.

더 큰 문제는 확장성과 조합성입니다. 기존 MCP 서버에 기능을 추가하려면 소스코드를 이해하고 수정해야 합니다. 또한 MCP 서버의 출력은 반드시 에이전트의 컨텍스트를 거쳐야 하기 때문에 여러 도구를 연결하거나 결과를 파일로 저장하는 게 비효율적입니다.

4개 스크립트로 브라우저 자동화 완성하기

저자는 브라우저 작업에 필요한 최소한의 도구 4개를 Node.js 스크립트로 구현했습니다.

start.js – 브라우저를 시작합니다. --profile 옵션을 쓰면 로그인 상태를 유지한 채 디버깅 모드로 크롬을 실행할 수 있습니다. 이미 로그인된 사이트를 스크래핑할 때 유용하죠.

nav.js – URL로 이동합니다. 현재 탭에서 이동하거나 --new 옵션으로 새 탭을 열 수 있습니다.

eval.js – 페이지에서 JavaScript를 실행합니다. 에이전트는 DOM API만 알면 되기 때문에 추가 학습이 필요 없습니다. document.querySelectorAll('a').length 같은 코드를 직접 실행할 수 있죠.

screenshot.js – 현재 화면을 캡처해 임시 파일로 저장하고 경로를 반환합니다. 에이전트가 비전 기능으로 페이지 상태를 ‘볼’ 수 있게 해줍니다.

이 4개 도구의 사용법을 설명하는 README 파일은 겨우 225토큰입니다. 에이전트는 이미 Bash와 JavaScript를 잘 알고 있기 때문에 긴 설명이 필요 없습니다.

필요한 도구를 즉석에서 추가하기

더 놀라운 건 새로운 도구를 추가하는 속도입니다. 저자는 DOM 요소를 직접 클릭해서 선택할 수 있는 pick.js 도구를 만들었습니다. 스크래핑할 요소를 에이전트에게 설명하는 대신 직접 클릭하면 되는 거죠. Cmd/Ctrl+클릭으로 여러 요소를 선택하고 Enter로 완료하면 각 요소의 태그, 클래스, 텍스트, HTML 정보를 반환합니다.

HTTP 전용 쿠키가 필요했을 때는 cookies.js 도구를 만드는 데 1분도 안 걸렸습니다. 기존 MCP 서버였다면 소스를 분석하고 테스트하고 디버깅하는 과정이 필요했을 겁니다.

저자는 실제로 Hacker News 스크래퍼를 만드는 과정을 영상으로 보여줍니다. pick 도구로 DOM 요소를 선택하면 에이전트가 그 정보를 바탕으로 스크래퍼 코드를 작성하는 식이죠. 최종 토큰 사용량도 MCP 방식보다 훨씬 적었습니다.

단순함이 가진 힘

이 접근법이 효과적인 이유는 명확합니다. AI 모델은 이미 Bash와 프로그래밍 언어를 잘 압니다. 새로운 프로토콜이나 복잡한 인터페이스를 가르칠 필요가 없죠. 도구끼리 조합하기도 쉽습니다. 한 도구의 출력을 파일로 저장하거나 다른 도구와 파이프로 연결하는 게 자연스럽습니다.

저자는 이 도구들을 Claude Code 같은 여러 에이전트에서 재사용하기 위해 홈 디렉토리의 agent-tools 폴더에 저장하고 PATH 별칭을 설정했습니다. 필요할 때 @README.md로 참조하면 에이전트가 바로 사용할 수 있죠.

물론 이 방식에도 책임이 따릅니다. MCP처럼 정해진 구조가 없기 때문에 도구를 어떻게 관리할지 스스로 정해야 합니다. 하지만 그 대가로 얻는 유연성과 효율성은 충분히 가치가 있습니다.

MCP 서버가 항상 나쁜 선택은 아닙니다. 하지만 많은 경우 더 간단한 방법이 있다는 걸 기억할 필요가 있습니다. 에이전트가 이미 잘 아는 도구를 활용하면 토큰도 절약하고 유연성도 얻을 수 있습니다. 복잡한 상자 밖에서 생각해보세요.

참고자료:


AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다