본문으로 건너뛰기

CLI vs MCP는 잘못된 선택지입니다 — 왜 둘 다 가질 수 없을까요?

LLM 에이전트의 도구 호출 시 CLI의 경량성과 MCP의 구조화된 장점을 결합한 지연 로딩(Lazy-loading) 전략을 통해 컨텍스트 효율성을 극대화한다.

실용적 조언

  • 에이전트 시스템 설계 시 도구 목록이 50개를 넘어간다면 모든 스키마를 로드하는 대신 지연 로딩 패턴 도입을 검토하라.
  • 보안이 중요한 프로덕션 환경에서는 쉘 실행 권한 대신 MCP와 같은 구조화된 인터페이스를 통해 권한을 세분화하라.

섹션별 상세

01
CLI 방식은 컨텍스트 윈도우 오염 문제를 해결하는 데 탁월한 강점이 있다. 수십 개의 도구 스키마를 세션 시작부터 로드하면 모델이 실제 응답을 생성하기 전에 과도한 토큰을 소모하게 되며, LLM은 이미 학습 데이터를 통해 일반적인 CLI 도구 사용법을 숙지하고 있다. 특히 서브 에이전트가 메인 에이전트의 도구를 호출해야 하는 복잡한 구조에서는 CLI 형태의 접근이 구조적으로 더 유연하다.
02
MCP 방식은 타입 기반의 도구 탐색과 구조화된 데이터 처리를 통해 안정성을 제공한다. 단순 문자열 파싱에 의존하는 CLI와 달리 JSON 기반의 입출력은 모델의 오작동을 줄이며, 권한 관리나 감사 추적(Audit Trail) 측면에서 단순 쉘 접근보다 보안성이 월등히 높다. 기업 환경에서 에이전트에게 무제한 쉘 권한을 주는 것은 보안 정책상 불가능에 가깝기 때문에 MCP의 구조화된 접근이 필수적이다.
03
OpenTabs는 CLI의 경량 탐색 패턴과 MCP의 구조화된 스키마를 결합한 3단계 지연 로딩(Lazy-loading) 워크플로우를 구현했다. 먼저 'tool list' 명령으로 도구 이름과 한 줄 설명만 가볍게 확인하고, 모델이 특정 도구를 사용하기로 결정한 시점에만 'tool schema'를 통해 상세 JSON 명세를 가져온다. 마지막으로 'tool call'을 통해 구조화된 데이터를 주고받음으로써 세션 시작 시 컨텍스트에 도구가 전혀 없는 상태를 유지하면서도 점진적인 탐색이 가능하다.
bash
$ opentabs tool list --plugin slack
// Just tool names and one-line descriptions.

$ opentabs tool schema slack_send_message
// Full JSON schema — typed parameters, descriptions, required fields.

$ opentabs tool call slack_send_message '{"channel":"C123","text":"hi"}'
// Invoke it. Structured JSON in, structured JSON out.

OpenTabs CLI 모드에서 도구 목록 확인, 스키마 조회, 도구 호출을 수행하는 3단계 워크플로우 예시

04
워크로드의 요구사항에 따라 세 가지 운영 모드를 선택할 수 있는 유연성을 제공한다. 지연 로딩을 지원하는 CLI 모드 외에도, 최소한의 메타 도구만 노출하는 게이트웨이 모드와 모든 도구를 즉시 로드하는 풀 MCP 모드를 지원하여 사용자가 성능과 편의성 사이의 트레이드오프를 직접 결정할 수 있다. 이는 특정 프로토콜의 우위를 가리기보다 실무적인 구현 방식의 개선이 더 중요하다는 사실을 뒷받침한다.

용어 해설

모델 컨텍스트 프로토콜(Model Context Protocol)
LLM이 외부 데이터 소스나 도구에 표준화된 방식으로 연결할 수 있도록 Anthropic에서 제안한 개방형 프로토콜이다. 에이전트가 복잡한 설정 없이도 다양한 도구의 기능을 이해하고 호출할 수 있는 공통 규격을 제공한다.
컨텍스트 윈도우 오염(Context Window Pollution)
모델의 제한된 입력 용량(컨텍스트 윈도우) 내에 실제 작업과 무관한 수많은 도구 정의나 스키마가 포함되어 성능이 저하되는 현상이다. 이는 추론 비용 상승과 모델의 집중력 분산을 초래한다.
지연 로딩(Lazy Loading)
데이터가 실제로 필요한 시점까지 로딩을 미루는 최적화 기법이다. LLM 에이전트 환경에서는 수천 개의 도구 중 사용할 도구의 상세 정보만 선택적으로 가져와 컨텍스트를 효율적으로 관리하는 데 사용된다.
JSON 스키마(JSON Schema)
JSON 데이터의 구조를 명시적으로 정의하고 검증하기 위한 표준 형식이다. LLM이 도구 호출 시 필요한 인자의 타입, 필수 여부, 설명을 정확히 파악하여 오류 없는 입력을 생성하도록 돕는다.

언급된 도구

OpenTabs추천링크

100개 이상의 플러그인과 2,000개 이상의 도구를 지원하는 오픈소스 MCP 서버

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 03. 29.수집 2026. 03. 29.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.