검색

검색어를 입력하세요

2026年 04月 08日

2026-04-08
'MCP는 죽었습니다. CLI여 영원하라!' 읽고 정리하기

MCP is dead. Long live the CLI를 읽고 배운 것과 생각을 정리했습니다. (번역: MCP는 죽었습니다. CLI여 영원하라!)

MCP 서버를 직접 만들어 쓰고 있었는데, 이 아티클을 읽으면서 CLI의 장점이 구체적으로 느껴졌다.

LLM은 이미 CLI를 잘 안다. 수많은 man 페이지와 GitHub 레포로 이미 학습했기 때문에 gh pr view 123이라고 하면 그냥 된다. MCP는 새로운 프로토콜과 엔드포인트와 인증 방식을 추가했지만, LLM이 도구를 이해하도록 설명하는 문서화 작업은 여전히 필요했다.

디버깅 얘기에서 확실히 좀 설득이 되었다. MCP에서 뭔가 잘못되면 JSON transport 로그를 뒤져야 한다. CLI였다면 그냥 같은 명령어를 내가 직접 실행해보면 된다.

파이프 조합도 생각지 못했던 부분이라 흥미로웠다. MCP로 큰 결과물을 다른 도구에 넘기려면 전부 컨텍스트에 쏟아붓거나, MCP 서버 안에 필터링 로직을 직접 넣어야 한다. CLI는 grep이나 jq로 그냥 된다.

권한 제어도 CLI 쪽이 세밀하다. Claude Code에서 Bash(gh pr view:*)는 허용하고 Bash(gh pr merge:*)는 승인 필요로 설정할 수 있다. MCP는 서버·툴 이름 단위로만 allow/deny가 가능해서 operation 단위 제어가 구조적으로 어렵다. (참고: Configure permissions)

AI에게 이 아티클에 대해서 좀 더 생각해 볼 부분이 있냐고 했을 때 gh, aws, kubectl 같은 메이저 CLI가 아닌 마이너한 CLI의 경우에도 이 아티클의 주장을 적용할 수 있냐는 질문을 해줬다.

확실히 기존 학습 데이터가 있는 메이저한 CLI와는 다르게 마이너한 케이스는 CLI로 구현하더라도 설명이 필요하기 때문에 문서화가 필요할 것이다. 하지만 LLM 에이전트에서만 동작하는 MCP와는 달리, CLI는 사람도 직접 쓸 수 있다. 터미널에서도, AI도, 다른 스크립트에서도 쓸 수 있다. 더 활용 범위가 넓다는 점에서 확실히 이점이 있어 보인다.

이 아티클을 읽고 나니 뭔가 기존에 자랑스럽게 만들었던 리트코드, 백준 문제 조회 MCP 서버가 좀 부끄러워져서 CLI로 래핑이 가능할지 확인해봐야겠다. 티어 변환 로직이 있어서 단순 curl + jq로는 좀 어려울 것 같고,,, 어떻게 할지는 모르겠지만 CLI 구현이 가능하다면 함 해보겠습니다…