MCP 아키텍처에서 MCP Client는 LLM을 포함한 외부 시스템과 MCP Server(MCP Agent) 사이를 연결하는 중요한 중간 계층입니다. MCP Client는 사용자의 자연어 명령을 받아 이를 구조화된 명령어로 변환하고, 이를 로컬 MCP Server로 전달하는 역할을 합니다. 이때, MCP Client는 MCP Hosts라고 부르는 LLM 시스템과 직접 통신하며, LLM의 지능적인 명령 해석 기능을 적극적으로 활용합니다.
MCP Client와 MCP Hosts 간 상호작용 흐름
-
사용자 입력
사용자는 자연어로 명령(예: "포토샵에서 새 문서를 열어줘")을 입력합니다. -
MCP Client 요청
MCP Client는 이 자연어 명령을 MCP Hosts(LLM)로 전송합니다. 이때 요청은 일반적으로 JSON 형식의 프롬프트나 API 호출을 통해 전달됩니다. -
MCP Hosts(LLM)의 명령 해석
MCP Hosts는 입력된 자연어를 분석하여 구체적인 실행 명세(Structured Action Plan)를 생성합니다. 예를 들어 "Adobe Photoshop 실행", "새 문서 생성", "사이즈 1920×1080 설정" 같은 구조화된 명령 세트가 됩니다. -
구조화된 명령 반환
MCP Hosts는 이 실행 명세를 다시 MCP Client로 반환합니다. 이 명세는 일반적으로 JSON, YAML 등 기계가 이해할 수 있는 구조화된 포맷으로 되어 있습니다.
MCP Client 명령 재처리
MCP Client는 수신된 명령을 검토하여, MCP Server(MCP Agent)가 처리할 수 있는 형식으로 다시 변환하거나 필요한 경우 일부 추가 정보를 보완합니다.
MCP Server로 명령 전달
최종적으로 MCP Client는 명령을 MCP Server로 전달하고, MCP Server가 이를 수행하여 결과를 반환합니다.
MCP Client와 MCP Hosts 간 통신 특성
-
요청-응답 기반 통신: MCP Client가 요청을 보내고, MCP Hosts가 답변하는 형태입니다. 실시간성이 필요한 경우 빠른 응답이 중요합니다.
-
명령어 표준화 필요: LLM이 생성하는 명령이 MCP Client에서 이해할 수 있도록 명확하고 표준화된 구조를 유지해야 합니다.
-
에러 핸들링: LLM이 애매하거나 오류가 있는 명령을 반환할 경우, MCP Client는 이를 검증하고 재요청하거나 오류를 사용자에게 알릴 수 있어야 합니다.
-
보안 통신: MCP Client와 MCP Hosts 간의 통신은 암호화(TLS 등)되어야 하며, 인증 토큰 기반으로 신뢰를 관리해야 합니다.
MCP Hosts의 역할
MCP Hosts는 단순한 질의응답 시스템이 아니라, 입력된 자연어를 해석하여 로컬 환경에서 실행 가능한 구체적이고 실질적인 명령어로 변환하는 기능을 담당합니다. 즉, MCP 전체 아키텍처의 ‘두뇌’ 역할을 합니다.
MCP Client의 역할
MCP Client는 사용자와 MCP Hosts 사이의 중재자 역할을 하며, MCP Hosts로부터 받은 명령을 실질적으로 MCP Server가 처리할 수 있는 형태로 변환하고, 명령 실행을 요청하고 결과를 반환하는 역할을 맡습니다.
요약
MCP Client는 사용자와 LLM(MCP Hosts) 사이에서 자연어 명령을 전달하고 결과를 구조화하여 MCP Server로 넘기는 중재자이며, MCP Hosts는 자연어 명령을 이해하고 구조화된 실행 명령을 생성하는 지능형 해석기입니다. 이 두 컴포넌트가 긴밀히 상호작용함으로써, 사용자 자연어 명령이 실제 로컬 애플리케이션 제어로 연결됩니다.