다음을 통해 공유


Azure에서 모델 컨텍스트 프로토콜을 사용하여 에이전트 빌드

MCP( 모델 컨텍스트 프로토콜 )를 사용하면 앱이 대규모 언어 모델에 기능과 컨텍스트를 제공할 수 있습니다. MCP의 주요 기능은 AI 에이전트가 작업을 완료하는 데 사용하는 도구를 정의하는 것입니다. MCP 서버는 로컬로 실행할 수 있지만 원격 MCP 서버는 클라우드 규모로 도구를 공유하는 데 중요합니다. 이 문서는 개발자가 이러한 도구를 이해하여 혁신적인 솔루션을 만들 수 있도록 돕는 것을 목표로 합니다.

개발자는 다음 두 가지 주요 방법으로 MCP를 사용할 수 있습니다.

  • 기존 MCP 서버 사용: 대부분의 개발자는 Azure MCP Server와 같은 기존 MCP 서버를 사용하여 에이전트 기능을 지능형 앱으로 빌드합니다.

    기존 MCP 서버를 사용하는 예제인 OpenAI MCP 에이전트 빌드 블록 AI 템플릿을 살펴봅합니다. 이 템플릿은 Azure OpenAI를 사용하고 TypeScript로 작성된 원격 MCP 서버에 연결하는 MCP 에이전트 앱을 .NET에 만듭니다.

    다음 다이어그램에서는 OPENAI MCP 에이전트 구성 요소 블록의 간단한 아키텍처를 보여 줌: MCP 클라이언트에서 MCP 서버로의 아키텍처를 보여 주는 다이어그램입니다.

  • 고유한 MCP 서버 개발: 일부 개발자는 고유한 MCP 서버를 만들어 사용자 지정 도구, 리소스 및 특정 요구 사항에 대한 프롬프트를 제공합니다.

    자체 MCP 서버를 개발하는 예제인 MCP 컨테이너 앱 빌드 블록 AI 템플릿을 살펴보세요. 이 템플릿은 Azure Container Apps를 사용하여 MCP(원격 모델 컨텍스트 프로토콜) 서버를 설정합니다.

    다음 다이어그램에서는 MCP 컨테이너 앱 구성 요소 블록의 간단한 아키텍처를 보여 줌: MCP 서버의 아키텍처를 보여 주는 다이어그램

기존 MCP 서버 활용

대부분의 개발자는 MCP 서버를 처음부터 개발하는 대신 MCP 호스트 및 AI 에이전트에서 기존 MCP 클라이언트를 사용합니다. 애플리케이션 또는 GitHub Copilot 에이전트 모드가 호스트입니다. 에이전트 구성 요소는 AI 인텔리전스를 포함하는 애플리케이션의 일부이며 MCP 클라이언트 구성 요소는 MCP 서버 통신을 담당합니다.

앱에 MCP를 통합하는 방법

  • 호스트 애플리케이션: 전체 애플리케이션(예: VS Code, 웹앱 등)
    • 호스트 애플리케이션은 MCP 클라이언트 및 에이전트 구성 요소가 실행되는 환경입니다. 호스트 내에서 두 가지 주요 구성 요소가 상호 작용합니다.

      • 에이전트 구성 요소: AI 인텔리전스(예: GitHub Copilot 에이전트 모드 또는 Azure AI 에이전트 서비스 또는 다른 프레임워크로 빌드된 사용자 지정 에이전트)가 포함된 파트입니다.

        • 이 구성 요소는 사용자 요청을 처리하고 필요한 외부 기능을 결정합니다.
        • 별도의 모듈이거나 호스트 애플리케이션에 통합될 수 있습니다.
        • AI 모델을 사용하여 사용자 입력을 해석하고 응답을 생성할 수 있습니다.
        • 에이전트 구성 요소는 사용자와 MCP 클라이언트 구성 요소 간의 정보 흐름을 관리합니다.
      • MCP 클라이언트 구성 요소: MCP 프로토콜을 구현하는 파트입니다.

        • 이 구성 요소는 MCP 서버에 대한 연결을 관리하고 에이전트 구성 요소와 서버 간의 통신을 처리합니다.
        • 클라이언트는 별도의 모듈이거나 호스트 애플리케이션에 통합될 수 있습니다.
        • 클라이언트 구성 요소는 MCP 서버에 요청을 보내고 응답을 수신하는 역할을 담당합니다.

고유한 MCP 서버 개발

일부 개발자는 고유한 MCP 서버를 만들어 사용자 지정 도구, 리소스 및 특정 요구 사항에 대한 프롬프트를 제공합니다. 이렇게 하면 AI 에이전트에 제공되는 기능을 유연하게 제어할 수 있습니다.

MCP 서버가 앱에 통합되는 방법

  • MCP 서버: 모델 컨텍스트 프로토콜을 구현하는 서버
    • MCP 서버는 에이전트 구성 요소에 도구, 리소스 및 프롬프트를 제공하는 역할을 담당합니다.
    • Azure 또는 다른 클라우드 플랫폼에서 호스트되거나 로컬로 실행될 수도 있습니다.
    • 개발자의 요구 사항 및 기본 설정에 따라 다양한 프로그래밍 언어 및 프레임워크를 사용하여 서버를 개발할 수 있습니다.

고유한 MCP 서버를 빌드하기 위한 두 가지 주요 시나리오가 있습니다.

  • 기존 MCP 서버의 기능을 사용하는 MCP 서버를 빌드합니다. 이 경우 서버는 기존 MCP 서버 도구 명령을 직접 호출합니다.

    예를 들어 Azure MCP 서버의 도구를 사용하는 사용자 지정 Cosmos DB MCP 서버를 빌드할 수 있습니다. 이 시나리오를 사용하면 기존 기능을 사용하고 고유한 사용자 지정 기능을 추가하는 새 서버를 만들 수 있습니다.

  • 고유한 도구, 리소스 및 특정 요구 사항에 대한 프롬프트를 제공하는 사용자 지정 MCP 서버를 빌드합니다. 이 시나리오를 사용하면 AI를 사용하는 동안 사용자에 대한 사용자 지정 환경을 만들 수 있습니다.

    예를 들어 사내 인벤토리 시스템을 관리하기 위한 도구를 제공하는 사용자 지정 MCP 서버를 빌드할 수 있습니다. 이 서버에는 인벤토리 항목을 검색, 추가 및 업데이트하는 도구와 인벤토리 시스템에 대한 정보를 제공하는 리소스가 있을 수 있습니다.