본문 바로가기
Data Analysis/AI

AI 에이전트 시대, CLI가 MCP를 이기는 진짜 이유

by Hagrid 2026. 4. 6.
반응형

핵심 요약

  1. OpenClaw 창시자 Peter Steinberger(GitHub 스타 19만)가 "MCP는 실수였다, Bash가 낫다"고 선언, OpenAI에 합류
  2. MCP는 스키마/보일러플레이트로 컨텍스트 윈도우의 30-40%를 소비하며, 크래시와 의존성 문제가 빈번
  3. CLI는 컨텍스트 오버헤드 제로, 파이프 조합 가능, 테스트 용이, --json 구조화 출력, 단일 exec 호출이라는 이점

상세 요약

MCP의 문제점

  • 도구 스키마와 메타데이터가 컨텍스트 윈도우의 30-40%를 잡아먹음
  • 일부 사례에서는 200K 토큰 중 82K(72%)가 MCP 도구 메타데이터에 소비
  • 서버 크래시, 의존성 충돌, 인증 플로우 마찰
  • Perplexity CTO도 MCP에서 이탈을 선언

CLI의 장점

  • 컨텍스트 오버헤드 제로: 모델이 이미 알고 있는 패턴이므로 스키마 주입 불필요
  • 조합 가능성: Unix 파이프로 도구를 자유롭게 연결
  • 테스트 용이: 터미널에서 바로 검증 가능
  • 구조화 출력: --json 플래그로 기계 읽기 가능한 출력
  • 단일 호출: MCP의 connect-negotiate-call 대신 한 번의 exec

CLAUDE.md 패턴

  • 프로젝트 루트에 CLAUDE.md 파일을 두면 Claude Code가 세션 시작 시 자동으로 읽음
  • CLI 도구 사용법을 문서화해두면 에이전트가 자율적으로 활용
  • **SKILL.md 패턴**: CLI 바이너리 + 스킬 문서 = 자율적 역량

에이전트 친화적 CLI 3가지 규칙

  1. --json 출력 지원
  2. 명확한 --help 문서
  3. 깔끔한 종료 코드(exit codes)

Steinberger의 CLI 군단

CLI 용도

goplaces Google Maps
imsg iMessage
bird X/Twitter
wacli WhatsApp
gog Gmail and Calendar
camsnap 보안 카메라
peekaboo macOS 스크린샷 + AI 비전
summarize 영상/팟캐스트 요

자체 에이전트 루프 구축

  • Anthropic tool_use API로 약 80줄이면 에이전트 루프 구현 가능
  • CLI를 tool로 등록하고, 모델이 필요에 따라 자율적으로 호출하는 구조

AI 에이전트 개발의 판도가 바뀌고 있다. GitHub 스타 19만 개를 보유한 OpenClaw의 창시자 Peter Steinberger가 던진 한마디가 개발자 커뮤니티를 뒤흔들었다.

"MCP는 실수였다. Bash가 낫다."

Sam Altman이 직접 영입해 OpenAI에 합류한 Steinberger는 왜 이런 과감한 주장을 했을까? 그리고 이것이 우리가 AI 에이전트를 설계하는 방식에 어떤 의미를 가질까?

MCP가 약속한 것과 현실의 괴리

Model Context Protocol(MCP)은 AI 모델이 외부 도구와 소통하는 표준 프로토콜로 등장했다. 구조화된 스키마, 자동 디스커버리, 타입 안전성까지 이론적으로는 완벽해 보였다.

하지만 프로덕션 환경에서 현실은 달랐다. MCP 도구의 스키마와 메타데이터가 컨텍스트 윈도우의 30-40%를 잡아먹는다. 200K 토큰 윈도우에서 실제 작업에 쓸 수 있는 공간이 절반도 안 되는 상황이 벌어진다. 서버 크래시, 의존성 충돌, 복잡한 인증 플로우까지 더해지면 개발자 경험은 급격히 나빠진다.

Perplexity의 CTO Denis Yarats도 2026년 초 MCP에서 이탈을 선언했다. 높은 컨텍스트 윈도우 소비와 거추장스러운 인증 플로우가 주된 이유였다.

CLI가 가진 본질적 우위

CLI의 강점은 단순함에서 나온다.

첫째, 컨텍스트 오버헤드가 거의 없다. LLM은 이미 수억 개의 학습 데이터에서 CLI 패턴을 습득했다. git log --oneline이나 curl -s url | jq '.data' 같은 명령어에 별도의 스키마 설명이 필요 없다.

둘째, Unix 철학에 따른 조합이 자유롭다. 파이프(|)로 도구를 연결하면 복잡한 워크플로우도 한 줄로 표현할 수 있다. weather --current | grep rain 한 줄이면 비 소식만 뽑아낼 수 있다.

셋째, 테스트가 즉시 가능하다. 터미널에서 바로 실행하고 결과를 확인할 수 있다. MCP처럼 connect-negotiate-call의 세 단계를 거칠 필요가 없다.

CLAUDE.mdSKILL.md: 에이전트에게 도구를 가르치는 법

Claude Code는 프로젝트 루트의 CLAUDE.md 파일을 세션 시작 시 자동으로 읽는다. 여기에 CLI 도구 사용법을 문서화하면 에이전트가 스스로 도구를 찾아 쓴다.

SKILL.md 패턴은 한 단계 더 나아간 것이다. CLI 바이너리와 사용 가이드 문서를 한 쌍으로 묶는 것이다. 에이전트는 새로운 CLI를 발견하면 SKILL.md를 읽고 자율적으로 활용법을 파악한다.

그렇다면 MCP는 죽었나?

아니다. 2026년의 합의는 "적재적소"다. 모델이 이미 패턴을 알고 있는 도구에는 CLI가 낫고, 구조와 디스커버리가 필요한 복잡한 도메인에는 MCP가 여전히 유효하다. 다만 기본값이 CLI 쪽으로 기울고 있다는 것은 분명한 흐름이다.

반응형

댓글