dev💻/인프라 및 기타

[번역] Model Context Protocol (MCP)

귤랑귤랑 2025. 3. 16. 22:44

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 완성 또는 생성)을 활용할 수 있습니다.

한편 클라이언트는 모델 접근 및 권한에 대한 통제를 유지합니다.

 

 

출처: threadreaderapp.com/thread/1900170356494917936.html