MCP 서버와 클라이언트 차이 및 핵심 아키텍처
MCP(Model Context Protocol, 모델 컨텍스트 프로토콜) 아키텍처는 전체 시스템을 3가지 주체로 깔끔하게 구분합니다. 3개의 주체는 MCP Host(호스트, 예: Claude Desktop이나 VS Code 같은 AI 실행 환경), MCP Client(클라이언트), 그리고 MCP Server(서버)입니다. 많은 독자분들께서 mcp 서버 와 클라이언트 차이 항목을 가장 헷갈려하십니다.
MCP Client는 AI 실행 환경인 Host가 직접 생성하여 가동합니다. Client는 특정 MCP Server와 1대1 통신 연결을 항상 유지하는 연결 관리자 역할을 맡습니다. Client는 전달받은 메시지를 분석하고 사용 중인 프로토콜 버전을 서로 맞추며 Server가 제공하는 기능을 찾아내어 실행 결과를 Host에 다시 전달하는 구체적인 통신 절차를 모두 책임집니다.
반대로 MCP Server는 외부 데이터와 실행 가능한 구체적 기능을 Client를 거쳐 Host에 공급하는 공급자 역할을 맡습니다. MCP Server가 Client에 제공할 수 있는 기본 기능 단위는 크게 3가지 형태가 있습니다.
첫째는 Resources(리소스, 데이터 원천)입니다. 읽기 전용으로 설정된 데이터나 파일 정보를 의미합니다. 둘째는 Tools(툴즈, 실행 함수)입니다. AI 모델이 직접 호출하여 실행 명령을 내릴 수 있는 구체적 함수입니다. 셋째는 Prompts(프롬프츠, 템플릿)입니다. 자주 반복해서 사용하는 대화형 프롬프트 양식을 재사용할 수 있게 템플릿 형태로 제공하는 기능입니다.
Model Context Protocol 오픈소스 프로젝트는 Anthropic(앤스로픽)에서 처음 아이디어를 내어 시작되었습니다. 2026년 9월 02일 기준 현재 해당 프로젝트는 리눅스 재단(The Linux Foundation) 산하의 Agentic AI Foundation(에이전틱 AI 재단) 프로젝트로 오픈소스 커뮤니티에서 통용되는 표준 규격으로 관리되고 있습니다. 이러한 역할 분리를 통해 개발자는 복잡한 통신 통로 구축 작업에 신경 쓰지 않고 Server 고유 기능 개발에 집중할 수 있습니다.
flowchart TD
A[MCP Host AI 도구 환경] --> B[MCP Client 통신 제어]
B -- 1대1 통신 연결 및 버전 교환 --> C[MCP Server 기능 공급]
C --> D[Resources 읽기 전용 데이터]
C --> E[Tools 모델 호출 함수]
C --> F[Prompts 재사용 템플릿]
- MCP Host: Claude Desktop 및 VS Code처럼 AI가 동작하는 바탕 프로그램입니다.
- MCP Client: Host가 직접 생성하여 MCP Server와 1대1 통신을 연결하고 제어하는 통신 담당자입니다.
- MCP Server: 외부 데이터와 실행 함수 및 프롬프트 템플릿을 Client에 공급하는 실제 기능 구현체입니다.