MCP(Model Context Protocol)의 핵심 아키텍처는 AI 모델과 외부 서비스를 연결하는 방법을 정의합니다. 복잡하게 들릴 수 있지만, 기본 개념은 생각보다 단순합니다.
기본 구조
MCP는 클라이언트-서버 모델을 따릅니다:
- 호스트: Claude Desktop이나 코딩 IDE와 같은 AI 애플리케이션입니다. 사용자와 직접 상호작용하는 부분입니다.
- 클라이언트: 호스트 내부에서 작동하여 각 서버와 1:1로 연결됩니다.
- 서버: 외부 데이터나 기능을 제공합니다(파일 시스템, 데이터베이스, 웹 검색 등).
이것을 식당에 비유하면:
- 손님(사용자)이 웨이터(호스트)에게 주문합니다
- 웨이터는 각 요리사(서버)에게 필요한 요청을 전달합니다
- 각 요리사는 자신의 전문 분야(파일, 검색, 계산 등)에서 결과물을 만들어 웨이터에게 돌려줍니다
- 웨이터는 이 모든 것을 종합해 손님에게 제공합니다
통신 계층
MCP는 크게 두 계층으로 나뉩니다:
- 프로토콜 계층: 메시지 형식, 요청/응답 연결, 오류 처리를 담당합니다. 주요 클래스는:
- Protocol: 통신의 기본 틀
- Client: 서버에 요청을 보내는 역할
- Server: 요청을 받고 응답하는 역할
- 전송 계층: 실제 데이터가 오가는 방식을 처리합니다. 두 가지 주요 방식이 있습니다:
- 표준 입출력(Stdio): 로컬 프로그램 간 통신에 적합
- HTTP/SSE: 원격 서비스와 통신할 때 사용 (웹 기반)
메시지 유형
MCP에서는 네 가지 주요 메시지 유형이 있습니다:
- 요청(Request): “이 파일 내용을 알려줘” 같은 정보 요청
- 결과(Result): 요청에 대한 성공적인 응답
- 오류(Error): 요청 처리 중 문제 발생 시 반환
- 알림(Notification): 응답이 필요 없는 일방적 메시지
연결 생명주기
- 초기화:
- 클라이언트가 서버에 연결 시작
- 서버가 수용 가능한 기능 알림
- 클라이언트가 확인 메시지 전송
- 메시지 교환:
- 요청-응답 패턴으로 정보 교환
- 필요시 일방적 알림 전송
- 종료:
- 작업 완료 시 연결 종료
- 오류 발생 시 비정상 종료 처리
간단한 예시
실제 작동 방식은 다음과 같습니다:
- 사용자가 AI에게 “내 프로젝트 파일을 분석해줘”라고 요청
- AI 호스트 내 클라이언트가 파일 시스템 서버에 연결
- 클라이언트가 파일 목록 요청 메시지 전송
- 서버가 파일 목록을 결과로 반환
- 클라이언트가 각 파일 내용 요청
- 서버가 파일 내용 반환
- AI가 이 모든 정보를 활용해 분석 결과 제공
보안 고려사항
MCP는 보안에도 신경을 씁니다:
- 원격 연결 시 TLS 암호화 사용
- 모든 입력 데이터 검증
- 접근 제어 구현
- 오류 시 민감 정보 노출 방지
이렇게 MCP는 AI 모델이 외부 세계와 안전하고 효율적으로 상호작용할 수 있는 표준화된 방법을 제공합니다. 개발자들은 이 프로토콜을 활용해 AI에게 다양한 데이터 소스와 도구를 제공할 수 있습니다.
- MCP 검색 서버
- MCP 클라우드 플랫폼 서버
- MCP 버전 관리 서버
- MCP 개발자 도구 서버
- MCP 데이터베이스 연결 서버
- MCP 브라우저 자동화 서버
- MCP 프롬프트(Prompts) 이해하기
- MCP 데이터 과학 도구 서버
- MCP 파일 시스템 접근 서버
- 이제는 MCP의 시대, 오픈AI가 선택한 이유는?
- MCP 리소스(Resources) 개념 쉽게 이해하기
- MCP 핵심 아키텍처 개념 쉽게 이해하기
- MCP(Model Context Protocol) 기본 개념
- Model Context Protocol(MCP) 기반의 문서 처리 시스템 구축