AI Architecture / Dev 가이드·약 8분 내외
AI 에이전트의 손발: CLI 스크립트 vs MCP Tool 완벽 비교 — 브라우저 세션 유지와 상태 제어의 결정적 차이
AI 에이전트에게 도구를 쥐어줄 때 단순 CLI 명령어(Bash)와 표준 MCP 도구는 어떻게 다를까요? 공중전화와 전용 무전기에 빗대어 이해하는 상태 유지(Stateful)의 원리와 4단계 아키텍처 의사결정 트리 실무 가이드입니다.
아키텍처 구조도
다이어그램 렌더링 중...
1. 공중전화와 전용 무전기: Stateless vs Stateful
💡 생활 비유: 1회용 공중전화 vs 페어링된 무전기
AI가 외부 도구를 쓰는 방식은 "연락 방식"과 똑같습니다.
•CLI 스크립트 (공중전화): 통화할 때마다 동전을 넣고 전화번호를 새로 누릅니다. 용무가 끝나면 통화가 바로 끊어지며, 다음 통화 때 상대방은 방금 통화 내용을 기억하지 못합니다.
•MCP Tool (전용 무전기): 주파수가 한 번 맞춰지면 버튼만 누르고 연속해서 대화할 수 있습니다. 이미 방에 들어와 있는 상태(로그인, 브라우저 탭)를 그대로 유지한 채 추가 지시를 내립니다.
단순 텍스트 검색이나 일회성 파일 변환에는 CLI가 빠르고 간편하지만, "웹페이지에 로그인한 뒤 상품을 장바구니에 담고 결제창으로 이동"하는 연속 조작에는 반드시 상태(State)가 유지되는 MCP가 필요합니다.
2. 4단계 도구 아키텍처 의사결정 트리 (Decision Tree)
내 에이전트에게 필요한 도구를 구현할 때 사족 없이 4가지 기준으로 최적의 방식을 결정합니다.
4단계 분기형 의사결정 트리 (Tool Architecture Decision Tree)
다이어그램 렌더링 중...
01
상태 영속성 (Session Persistence)
로그인 세션, 브라우저 탭 유지, 데이터베이스 트랜잭션이 필요하면 무조건 MCP 서버를 채택합니다.
02
도구 이식성 (Portability)
Claude Desktop, Cursor, OpenCode 등 다양한 에이전트 클라이언트에서 동일하게 재사용할지 판단합니다.
03
입출력 엄격성 (Schema Validation)
따옴표/특수문자 이스케이프 오류를 방지하고 JSON 기반으로 안전하게 타입을 검증해야 하는지 확인합니다.
04
구축 속도와 비용 (Time to Market)
간단한 검색, 텍스트 변환, 시스템 명령어 실행은 CLI 스크립트로 5분 만에 완성하여 적용합니다.
3. 실습 코드: CLI 단발 실행 vs MCP 영속 도구 비교
터미널에서 직접 실행해보며 두 방식의 호출 형태와 라이프사이클 차이를 체감할 수 있습니다.
터미널 실행
# 1. CLI 방식: 매번 브라우저를 띄우고 종료하는 단발성 실행
search-cli --extract "https://example.com" --scroll 2 --eval "document.title"
# 2. MCP 도구 방식: 클라이언트 설정 파일(JSON)에 표준 서버 등록
# ~/.config/opencode/opencode.jsonmcp-server.py
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("browser-controller")
# 브라우저 세션을 메모리에 유지한 상태로 연속 호출 가능
@mcp.tool()
async def click_element(selector: str) -> str:
"""페이지 내 특정 버튼을 클릭하고 결과를 반환합니다."""
# active_page.click(selector)
return f"Clicked {selector} successfully"호출 결과 해석 요령
// CLI 방식: 프로세스 종료와 함께 메모리 초기화
[Bash] Finished search-cli in 1.2s -> Browser Context Destroyed
// MCP 도구 방식: 브라우저 세션 유지 상태에서 다음 인터랙션 대기
[MCP Tool Call] click_element({"selector": "button.login"})
[MCP Tool Result] "Clicked button.login successfully"
[Session Status] Page URL: "https://example.com/dashboard" | Active Tab: 1 (Session Preserved)✕❌ CLI 방식의 한계와 주의점
- ✕매 실행마다 브라우저가 새로 켜지므로 이전 작업의 로그인/스크롤 위치 상실
- ✕쉘 명령어에 따옴표나 특수문자가 섞일 때 SyntaxError 발생 위험
- ✕호스트 프로세스 생성 비용으로 인한 잦은 오버헤드 발생
✓✅ MCP 방식의 강점과 안정성
- ✓백그라운드에서 하나의 브라우저 탭을 열어두고 연속적인 클릭/입력 조작 가능
- ✓구조화된 JSON 스키마로 인자를 전달받아 LLM 도구 호출 신뢰도 99% 달성
- ✓표준 프로토콜이므로 다양한 AI 클라이언트 환경에 무수정 배포 가능
간단한 사실 조회는 CLI로 민첩하게 처리하고, 다단계 자율 작업(마누스 스타일)은 MCP로 구성하는 하이브리드 조합이 가장 실용적입니다.
이정마 에디터
AI System Architect
단순 정보 조회를 넘어 브라우저를 연속 조작하거나 세션을 유지해야 할 때, CLI와 MCP의 선택이 에이전트의 완성도와 속도를 결정합니다.