MCP 클라이언트란?

MCP 클라이언트는 AI 에이전트 애플리케이션의 하위 프로그램이며, MCP 서버와 통신하여 정보를 얻고 작업을 수행합니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • MCP 클라이언트와 서버가 상호 작용하는 방법 설명
  • MCP 호스트 이해
  • Cloudflare에서 MCP 클라이언트와 서버 배포를 시작하세요

글 링크 복사

MCP 클라이언트란?

모델 컨텍스트 프로토콜(MCP) 클라이언트는 AI 에이전트의 일부로서, 아니면 AI 에이전트의 지시를 받아, MCP 서버를 요청하는 컴퓨터 프로그램입니다. MCP 클라이언트가 MCP 서버에서 얻은 정보는 AI 에이전트가 의사 결정을 하거나 작업을 수행하는 데 도움이 됩니다. MCP 클라이언트는 고용주(AI 에이전트)를 대신하여 레스토랑 예약을 하거나 후속 작업을 할 수 있는 비서와 같다고 생각하면 됩니다.

Acme Corp.에서 "아홉 살짜리 아이에게 방에 가구를 비치히고 싶습니다"와 같은 간단한 고객 프롬프트에 따라 어린이 방에 넣을 가구를 자율적으로 주문할 수 있는 AI 에이전트를 구축한다고 가정해 보겠습니다. 최선의 옵션을 찾으려면 AI 에이전트는 사용 가능한 어린이 가구, 가격, 일반적인 침실과 비교한 가구 항목의 치수에 대한 정보가 필요합니다. 가구 제조업체에서 MCP를 사용하여 이 정보를 노출하면, AI 에이전트는 원하는 정보를 직접 요청하도록 MCP 클라이언트에게 임무를 부여할 수 있습니다.

MCP 클라이언트는 MCP 호스트 내에서 작동합니다. MCP 호스트는 AI 에이전트 또는 애플리케이션입니다. MCP는 '클라이언트'가 원래 자체 IP 주소를 가진 개별 장치로 가정되었던 인터넷의 기반이 된 클라이언트-서버 모델과 다릅니다. 오히려, MCP 클라이언트, 호스트, 서버가 모두 동일한 시스템에서 실행되고 있을 수는 있습니다. 항상 그런 것은 아니지만요.

MCP 호스트의 작동 방식

MCP 호스트는 에이전틱 AI 애플리케이션입니다. 이 애플리케이션에는 다른 기능과 함께 호스트의 보조 프로그램인 하나 이상의 클라이언트가 포함됩니다. 클라이언트는 호스트가 필요한 정보를 얻거나 최종 사용자 프롬프트에 응답하기 위한 작업을 수행하는 것을 돕습니다. 각 클라이언트는 하나의 MCP 서버와 직접 통신합니다. 서버를 추가로 연결하려면 더 많은 클라이언트를 인스턴스화해야 합니다.

그림: 최종 사용자 기기가 MCP 클라이언트에 쿼리하는 AI 애플리케이션을 실행하고, 이 AI 애플리케이션은 MCP 서버에 쿼리합니다
이 다이어그램에는 MCP 서버가 Cloudflare에서 호스팅될 때 사용자 대면 애플리케이션 내부에서 MCP 클라이언트와 서버가 어떻게 상호 작용하는지가 나와 있습니다.

최종 사용자의 관점에서 보면 이 모든 과정은 내부에서 처리됩니다: 사용자가 보는 것은 AI 애플리케이션에 프롬프트를 입력하면 애플리케이션이 응답하거나 요청을 수행하는 모습입니다. 그러나 그 배후에서는 애플리케이션이 작업을 완료하기 위해 적어도 부분적으로는 MCP 클라이언트와 서버에 의존합니다.

MCP 서버란?

MCP 서버는 MCP 사용을 지원하고 MCP 클라이언트가 정보를 사용할 수 있도록 하는 소프트웨어 프로그램입니다. MCP 서버는 예를 들어 필요한 경우 더 많은 컨텍스트를 요청하여 MCP 클라이언트가 프롬프트를 이행하도록 돕는 데 적극적인 역할을 합니다.

MCP 서버와 MCP 클라이언트는 동일한 물리적 시스템에서 실행할 수 있습니다. 아니면, 인터넷을 통해 원격으로 연결되는 별도의 장치일 수도 있습니다. MCP 서버는 웹 서버(또는 위 다이어그램의 Cloudflare)에서 호스팅될 수 있지만, 반드시 그렇지는 않습니다.

MCP 서버의 핵심 기능은?

MCP 서버는 MCP 클라이언트가 여러 기능을 사용할 수 있도록 합니다. 이러한 기능은 MCP 클라이언트가 작업을 수행하는 데 도움이 됩니다.

  • 도구: 프롬프트를 실행하는 데 도움을 주는 기능입니다. 예를 들어, MCP 서버 도구는 API를 호출하는 기능일 수 있습니다.
  • 리소스: 리소스는 문서, API 문서, 기술 자료 문서 등 읽기 전용 데이터의 저장된 소스입니다.
  • 프롬프트: 특정 도구 및 리소스를 호출하기 위한 구조화된 저장 템플릿.

MCP 클라이언트의 핵심 기능은?

MCP 클라이언트는 MCP 서버가 기능을 사용할 수 있도록 하며, MCP 서버는 이러한 기능을 사용하여 클라이언트에게 정보를 요청하거나 명확성을 확보할 수 있습니다.

  • 도출: 연결이 시작되면 서버에서는 클라이언트의 요청을 수행하기 위해 더 많은 컨텍스트 또는 정보가 필요할 수 있습니다. 서버는 도출 기능을 사용하여 클라이언트로부터 이 정보를 가져오고, 클라이언트는 다시 사용자에게 요청할 수 있습니다.
  • 루트: 클라이언트는 서버가 관련 응답을 생성할 수 있도록 파일의 특정 하위 디렉터리에 집중하도록 서버에 요청할 수 있습니다. 위의 예에서 클라이언트가 서버에 file:///home-goods/furniture/childrens-furniture/에 집중해달라고 요청한다고 상상해 보세요. 이렇게 하면 일반 가정 용품이나 성인 크기의 침대에 대한 정보처럼 사용자 프롬프트를 만족시키는 데 도움이 되지 않는 관련 없는 정보가 서버에서 클라이언트에게 제공될 가능성이 줄어듭니다.
  • 샘플링: 서버는 AI 애플리케이션이 작업을 완료하도록 클라이언트에 요청을 보낼 수 있습니다.

Cloudflare를 이용하여 MCP 서버 또는 MCP 클라이언트를 구축하는 방법

Cloudflare에서는 개발자가 자체 AI 에이전트를 개발하는 과정의 일환으로 자체 MCP 클라이언트 및 서버를 구축, 테스트, 배포하도록 지원합니다. 개발자는 로컬 장치에서 구축하여 Cloudflare에 배포하거나 GitHub 계정을 통해 구축할 수 있습니다. Cloudflare에서 MCP 서버 또는 클라이언트를 배포하면 전 세계 인터넷 연결 인구의 95%에게서 약 50밀리초 이내에 있는 전역 네트워크에서 도구와 데이터를 셀프 호스팅 없이 밀리초 단위로 에이전트에 노출할 수 있습니다.

OAuth를 통한 인증도 MCP 서버에 구축할 수 있습니다. 인증이 없는 경우, 누구나 서버에 연결하여 사용할 수 있습니다. 인증이 있는 경우, 권한이 부여된 당사자만 그렇게 할 수 있습니다. 따라서 인증은 MCP 서버에서 데이터를 기밀로 유지하고 안전하게 유지하는 데 도움이 될 수 있습니다.

Cloudflare로 원격 MCP 서버를 구축하는 방법에 대한 전체 튜토리얼은 Cloudflare의 MCP 개발자 문서를 참조하세요.