LLM과 더불어 관심도가 높은 MCP에 대해 잘 설명한 글을 발견해서 옮겨봅니다.
MCP는 AI 애플리케이션을 위한 USB-C 포트 같은 것입니다.
USB-C가 다양한 주변기기에 장치를 연결하는 표준화된 방법을 제공하듯, MCP는 AI 앱이 다양한 데이터 소스와 도구에 연결하는 방법을 표준화합니다. 자세히 살펴보겠습니다! 🚀
핵심 구조
MCP는 호스트 애플리케이션이 여러 서버에 연결할 수 있는 클라이언트-서버 아키텍처를 따릅니다.
주요 구성 요소는 다음과 같습니다:
- 호스트
- 클라이언트
- 서버
자세히 알아보기 전에 개요를 살펴보겠습니다 👇
호스트와 클라이언트:
호스트: AI 앱(Claude 데스크톱, Cursor)으로 AI 상호작용을 위한 환경을 제공하고, 도구와 데이터에 접근하며, MCP 클라이언트를 실행합니다.
MCP 클라이언트: MCP 서버와의 통신을 가능하게 하기 위해 호스트 내에서 작동합니다.
다음은 MCP 서버입니다...👇
서버
서버는 특정 기능을 노출하고 데이터에 대한 접근을 제공합니다.
3가지 주요 기능:
- 도구(Tools): LLM이 서버를 통해 작업을 수행할 수 있게 합니다
- 리소스(Resources): 서버의 데이터와 콘텐츠를 LLM에 노출합니다
- 프롬프트(Prompts): 재사용 가능한 프롬프트 템플릿과 워크플로우를 만듭니다
클라이언트-서버 통신
클라이언트-서버 통신을 이해하는 것은 자신만의 MCP 클라이언트-서버를 구축하는 데 필수적입니다.
이 그림으로 시작하여 단계별로 분석해 보겠습니다... 👇
1️⃣ & 2️⃣: 기능 교환(capability exchange)
클라이언트는 서버 기능을 알아보기 위해 초기화 요청을 보냅니다.
서버는 자신의 기능 세부 정보로 응답합니다.
예: 날씨 API 서버는 API 엔드포인트를 호출하는 도구(tools)
, 프롬프트(prompts)
, 그리고 API 문서를 리소스(resource)
로 제공합니다.
3️⃣ 알림(Notification)
클라이언트는 성공적인 연결을 확인하고 추가 메시지 교환이 계속됩니다.
마무리하기 전에 한 가지 중요한 세부 사항이 더 있습니다...👇
양방향 통신
전통적인 API와 달리 MCP 클라이언트-서버 통신은 양방향입니다.
필요한 경우 샘플링을 통해 서버는 API 키 없이도 클라이언트의 AI 기능(LLM 완성 또는 생성)을 활용할 수 있습니다.
한편 클라이언트는 모델 접근 및 권한에 대한 통제를 유지합니다.
'dev💻 > 인프라 및 기타' 카테고리의 다른 글
Cursor MCP 공식문서 읽어보기 (0) | 2025.03.23 |
---|---|
[NPM] 협업에 꼭 필요한 Conflicting peer dependency 해결하기 (--legacy-peer-deps, --force, node 버전 맞추기) (0) | 2023.12.05 |
[AWS] 간단한 사이트라면 S3로 정적 배포하기 (static web hosting, S3+CloudFront+Route53) (0) | 2023.10.31 |
[VsCode] 원격으로 페어 프로그래밍을 해보자 (Live share) (0) | 2023.09.10 |