MCP vs CLI 논쟁

[!tldr] 한줄 요약 Eric Holmes(Anthropic 엔지니어)는 LLM이 CLI를 이미 잘 사용하므로 MCP가 불필요하다고 주장했다. Anthropic의 공식 반박은 없지만, 이전부터 Tool Search(85% 절감)와 Code Execution(98.7% 절감)으로 MCP를 개선해왔다. 커뮤니티 합의는 양자택일이 아닌 하이브리드.

핵심 내용

Holmes의 주장: CLI가 MCP보다 낫다

Eric Holmes는 2026년 2월 "MCP is Dead. Long Live the CLI"라는 글에서 MCP가 근본적으로 불필요하다고 주장했다.

CLI 장점설명
네이티브 LLM 역량LLM은 방대한 CLI 문서/코드로 학습되어 CLI를 자연스럽게 사용
디버깅 용이성동일 명령을 그대로 재현하여 문제 확인 가능
조합성(Composability)파이프라인 체이닝 가능 (`terraform show -json \jq ...`)
인증 단순성AWS 프로필, SSH 키 등 기존 인증을 그대로 사용
운영 단순성백그라운드 프로세스, 초기화, 상태 관리 불필요

MCP의 실질적 문제점으로 서버 초기화 불안정, 반복적 인증 요구, All-or-nothing 권한 모델을 지적했다.

Anthropic의 MCP 개선 방향

[!warning] 시간 순서 주의 Code Execution with MCP(2025.11)는 Holmes 글(2026.02)보다 4개월 먼저 발행되었다. Holmes 글에 대한 직접 대응이 아니라, MCP의 기존 발전 로드맵이다. Anthropic은 Holmes 글에 공식 반박을 내지 않았다.

Anthropic은 MCP의 토큰 오버헤드를 인식하고 개선 방향을 제시해왔다.

해결책효과
Progressive Disclosure도구 정의를 온디맨드 로드 → 150,000 → 2,000 토큰 (98.7% 절감)
Tool Search스키마 전체 로딩 대신 검색 인덱스 사용 (85% 절감)
In-environment Filtering에이전트가 환경 내에서 데이터 필터링 후 반환
코드 API 래핑MCP 서버를 코드 실행 환경에서 API처럼 사용

핵심은 CLI의 장점(조합성, 효율성)을 MCP 환경에서 흡수하는 방향이다.

CLI vs MCP: 각각의 강점

관점CLIMCP
조합성파이프/체이닝 자유자재단일 호출 단위, 조합 불가
토큰 효율--help 온디맨드스키마 사전 로딩 (개선 중)
보안/권한셸 접근 필요, 세밀한 제어 어려움도구별 granular 권한 제어
도구 발견사전 지식 필요자동 노출 + 스키마 제공
입출력텍스트 파싱 필요JSON 스키마로 타입 안전성
비개발자사용 어려움웹/모바일 환경에서 안전한 연결
상태 관리없음세션 상태 유지 가능

커뮤니티 합의: 하이브리드

예시

MCP가 불필요한 경우 (CLI로 충분)

# vault_read_note 대신
cat til/claude-code/mcp.md

# vault_search 대신
grep -r "MCP" til/

# til_exists 대신
test -f til/llm/mcp-vs-cli.md && echo "exists"

MCP가 필요한 경우 (도메인 로직)

# SM-2 알고리즘 기반 복습 스케줄링 — CLI로 구현하기 어려움
til_review_list(limit: 20, include_content: true)

# 크로스 파일 컨텍스트 집계 — Grep 여러 번 + 파싱 필요
til_get_context(topic: "MCP")

참고 자료

관련 노트