원문 캡처 · rabin-a.github.io
원문 캡처 · rabin-a.github.io

mcp-router는 Claude Code와 MCP 서버 사이에서 도구를 검색해 필요한 도구만 호출하도록 돕는 프록시다. 제작자는 441개 도구를 연결한 테스트에서 직접 연결한 구성보다 토큰을 평균 29% 적게 썼다고 밝혔다.

macOS와 Linux의 x86_64·arm64를 지원하며, 설치 스크립트는 SHA-256 체크섬을 확인한 뒤 ~/.local/bin에 설치한다.

sh
curl -fsSL https://raw.githubusercontent.com/rabin-a/mcp-router/master/install.sh | sh

기존 Claude Code MCP 서버를 라우터로 가져온 뒤 라우터를 추가한다.

sh
mcp-router import claude mcp add router -s user -- mcp-router

새 서버도 claude mcp add와 비슷한 방식으로 추가할 수 있다. 원문에는 다음 명령이 제시돼 있다.

sh
mcp-router add -e GITHUB_TOKEN=... github -- npx -y @modelcontextprotocol/server-github mcp-router add -t http linear https://mcp.linear.app/mcp

mcp-router는 find_tools, call_tool, run_script 세 도구로 연결된 서버의 도구를 찾고 실행한다. 서버는 도구를 처음 사용할 때 시작하며, 도구 목록은 캐시돼 검색만 할 때 서버를 시작하지 않는다. find_tools는 서버 전체에서 키워드로 도구를 검색해 인자 스키마와 함께 반환한다. call_tool은 server.tool 이름으로 도구를 호출하며, JSON 결과에서 링크 템플릿·null 값·공백을 제거한다. run_script는 파일·네트워크·가져오기를 허용하지 않는 샌드박스 JavaScript로 여러 호출을 연결한다.

제작자는 같은 441개 도구를 연결한 프록시 7종을 Claude Code에서 비교했다. 도구를 호출하는 작업 3개를 각 구성에서 두 번씩 실행했고, 서버 로그로 작업 완료를 확인한 경우만 성공으로 집계했다. 아래 토큰 변화율은 서버에 직접 연결한 구성과 비교한 평균이다.

구성완료한 작업직접 연결 대비 토큰 변화
mcp-router6/6−29%
lazy-mcp6/6+52%
mcp-gateway (RaiAnsar)6/6+72%
mcp-tool-search6/6+75%
MCPGateway4/6+145%
mcp-tool-router0/6검색 결과를 찾지 못함
mcp-context-proxy0/6결과가 잘렸고 잘못된 서버를 선택함

벤치마크 설명에 따르면 모든 프록시는 441개 도구 목록을 나열하는 고정 비용을 줄였으며, 요청당 약 15%를 절감했다. 하지만 검색이나 스키마 조회를 추가하면 대화 전체를 다시 읽는 차례가 늘어, 절감량보다 토큰을 더 쓸 수 있다. Claude Code는 프록시 자체 도구를 기본적으로 뒤로 미루며, 테스트한 구성 중 mcp-router만 anthropic/alwaysLoad를 설정했다. 결과가 50,000자를 넘으면 파일에 저장돼 Claude Code가 다시 읽어야 하므로, JSON 결과를 필요한 내용만 남기도록 다듬는 것도 토큰 사용량에 영향을 준다.

테스트용 도구 구성은 합성 데이터이며 각 작업은 두 번만 실행했다. 제작자는 작은 차이는 잡음으로 봐야 한다고 밝혔다. 설정과 한계, 원자료 및 재현용 하네스는 BENCHMARK.md에 공개돼 있다.