인공지능 분야에서 대규모 언어 모델(LLM)의 출현은 혁명적인 변화를 가져왔습니다. 하지만 LLM을 자체 데이터와 효과적으로 통합하는 것은 여전히 어려운 과제로 남아 있습니다. LLM은 인터넷에서 방대한 양의 정보를 처리하는 데 능숙하지만, 진정한 잠재력은 애플리케이션 및 데이터를 위한 자연어 인터페이스 역할을 수행하여 제어된 환경 내에서 예측 및 생성 기능을 활용하는 데 있습니다.
LLM 결과의 신뢰성과 관련성을 보장하기 위해 다양한 전략이 등장했으며, 각 전략은 이러한 모델과 특정 데이터 세트 간의 간격을 좁히기 위해 고안되었습니다. 이러한 전략은 사용자 지정 임베딩 생성, 검색 증강 생성(RAG) 기술 활용(데이터 내에서 복잡한 관계를 밝히기 위해 그래프 데이터베이스 활용), 사용자 프롬프트에 의해 트리거된 OpenAPI 호출을 통해 얻은 데이터를 증류 및 제시하기 위해 LLM 활용 등 다양합니다. 또한 OpenAI의 ChatGPT에서 대중화된 플러그인 모델은 데이터 통합을 위한 또 다른 방법을 제공합니다. 이러한 다양한 접근 방식 중에서 모델 컨텍스트 프로토콜(MCP)은 LLM과 외부 데이터 소스 간의 연결을 표준화하기 위한 유망한 솔루션으로 돋보입니다.
모델 컨텍스트 프로토콜의 공개
Anthropic이 2024년 후반에 공개한 모델 컨텍스트 프로토콜은 LLM과 사용자 특정 데이터 간의 상호 작용을 간소화하기 위한 중요한 단계입니다. 이 프로토콜은 AI 애플리케이션에서 컨텍스트의 중요한 역할을 강조하며, 일관되고 의미 있는 출력을 제공하는 AI의 능력은 관련 컨텍스트 정보의 가용성에 달려 있음을 인정합니다. 합리적인 응답을 얻기 위해 채팅 프롬프트에만 의존하는 것은 기껏해야 낙관적인 운동이며, 최악의 경우 부정확하거나 오해의 소지가 있는 결과를 초래할 수 있습니다. 데이터에 대한 워크플로를 오케스트레이션할 수 있는 강력하고 반자동 에이전트를 구축하려면 해당 데이터를 에이전트에 제공하기 위한 신뢰할 수 있는 메커니즘이 필수적입니다.
오픈 소스 이니셔티브인 MCP는 광범위한 프로그래밍 언어에 대한 SDK 구현과 GitHub 리포지토리 내의 포괄적인 문서를 제공합니다. 이 문서를 통해 개발자는 MCP 서버를 효과적으로 구현하거나 활용할 수 있습니다. MCP를 ‘AI 애플리케이션용 USB-C 포트’로 설명하는 프로젝트의 설명은 다양한 데이터 소스에 대한 연결을 표준화하는 능력을 강조하면서 본질을 적절하게 포착합니다. 표준화된 기반 위에 구축된 MCP는 기존 프로젝트와 쉽게 통합되어 다양한 LLM 및 추론 공급자와 원활하게 인터페이스됩니다.
MCP 아키텍처는 브로커가 MCP 요청을 로컬 또는 원격 요청으로 변환하는 책임을 맡는 잘 확립된 클라이언트/서버 모델을 따릅니다. 이 설계는 CORBA와 같은 인터페이스 정의 언어의 기능을 미러링하여 MCP를 정보 소스와 LLM 애플리케이션 간의 원활한 전환을 용이하게 하는 다재다능한 상호 운용성 계층으로 변환합니다. JSON RPC 연결을 활용하는 MCP는 Azure API Management와 같은 도구를 통해 개별 사용자 수준에서 세분화된 제어를 가능하게 합니다.
MCP는 Microsoft의 AI 개발 플랫폼 전반에서 채택이 증가함에 따라 AI 기반 코드에 대한 일반 인터페이스 개발을 촉진합니다. Semantic Kernel 모델 오케스트레이션 도구 내 통합에서 Azure OpenAI 및 Azure AI Foundry와 호환되는 MCP 서버로 배포에 이르기까지 MCP는 빠르게 인기를 얻고 있습니다. Microsoft는 또한 사용자 자격 증명을 기반으로 데이터 액세스를 제어하는 기능을 통해 Azure API Management를 향상시켜 안전하고 관리되는 AI 배포에서 MCP의 역할을 더욱 강화하고 있습니다.
Azure MCP 서버: 초기 구현
최근 공개 미리 보기로 출시된 오픈 소스 Azure MCP 서버는 Microsoft 플랫폼에서 MCP의 초기 구현을 보여줍니다. 이 서버는 많은 최신 Azure 프로젝트에서 채택한 오픈 소스 원칙을 준수하면서 주요 Azure 서비스에 대한 AI 액세스를 위한 공통 브로커 역할을 합니다. 해당 코드는 GitHub에서 쉽게 액세스할 수 있습니다. Azure MCP 서버는 데이터베이스, 스토리지 솔루션, Azure CLI와 같은 서비스를 포함하여 Azure 플랫폼의 상당 부분에 대한 액세스를 제공합니다.
Azure CLI(및 개발자 CLI)에 대한 지원이 포함된 것은 특히 주목할 만하며, MCP 기반 에이전트가 Azure와 직접 상호 작용하고 MCP 호출을 운영자로 취급할 수 있도록 합니다. 이 기능은 Azure에 대한 자연어 셀프 서비스 인터페이스를 제공하는 에이전트를 구축할 수 있는 길을 열어줍니다. 예를 들어 에이전트는 인프라에 대한 설명을 가져와 배포에 필요한 ARM 템플릿을 자동으로 생성할 수 있습니다. 이 개념을 더욱 확장하면 화이트보드 스케치를 분석하고 필요한 리소스에 대한 설명을 파생시킨 다음 인프라를 배포하여 즉각적인 코드 개발을 가능하게 하는 다중 모드 에이전트를 구상할 수 있습니다. Azure MCP 서버를 통해 액세스할 수 있는 추가 시스템 관리 서비스에는 현재 리소스 그룹 나열 및 KQL을 활용하여 Azure Monitoring 로그를 쿼리하는 것이 포함됩니다.
GitHub Copilot Chat과 Azure MCP 서버 통합
Azure MCP 서버는 MCP 표준을 준수하므로 GitHub Copilot 에이전트 모드와 같이 MCP를 지원하는 모든 AI 도구와 원활하게 통합됩니다. 서버를 테넌트에 추가하기만 하면 Copilot을 통해 직접 또는 Visual Studio Code 통합을 통해 질문을 시작할 수 있습니다. 후자의 옵션은 MCP를 활용하고 자체 MCP 기반 AI 애플리케이션에 대한 프롬프트를 구성하는 방법을 배우는 효과적인 수단을 제공합니다.
현재 Microsoft는 프로그래밍 언어에 대한 전용 MCP 도구를 아직 출시하지 않았으므로 사용자 지정 코드를 개발하려면 공식 SDK를 사용해야 합니다. TypeScript, C# 및 Python에 대한 지원을 통해 개발자는 자체 Azure MCP 에이전트를 만드는 데 필요한 도구에 액세스할 수 있습니다. 기존 Azure 자격 증명을 사용하여 Visual Studio Code 내에서 실험을 수행할 수 있습니다.
서버는 개발 PC에서 작동하며 Node.js가 필요합니다. 설치는 프로젝트의 GitHub 리포지토리에서 VS Code로 직접 수행됩니다. 설치가 완료되면 GitHub Copilot 및 GitHub Copilot Chat 확장이 실험적 에이전트 모드를 사용하도록 구성되어 있는지 확인합니다(VS Code 설정 도구를 통해 액세스 가능). 그런 다음 GitHub Copilot 채팅 창을 열고 에이전트 모드로 전환합니다. Azure MCP 서버가 도구 드롭다운 내에 설치되어 있는지 확인합니다. 이제 ‘내 Azure 구독 목록’과 같은 쿼리를 제출할 수 있습니다.
결과 도구는 Azure에서 작업하는 모든 사람에게 매우 귀중하며 Copilot 통합을 넘어 확장됩니다. Azure MCP 서버는 Node.js가 지원되는 모든 곳에 설치할 수 있으므로 사용자 지정 에이전트에 통합할 수 있습니다.
Azure AI Foundry에서 MCP의 역할
Microsoft는 MCP 도구 포트폴리오를 빠르게 확장하여 기존 기능을 MCP를 통해 노출하거나 에이전트 애플리케이션 내에서 사용할 수 있도록 합니다. 이 빠른 롤아웃에는 이 기사를 쓰는 동안 발표된 Copilot Studio의 노코드 에이전트 개발을 위한 도구가 포함됩니다.
대규모 AI 애플리케이션 개발을 위한 Microsoft의 기본 개발 플랫폼인 Azure AI Foundry는 Azure의 AI 에이전트 서비스를 보완하기 위해 MCP 서버를 적극적으로 개발하고 있습니다. 이 통합은 Azure AI Foundry 내에서 실행되는 에이전트를 다른 AI 애플리케이션의 일부로 작동하는 클라이언트와 연결하는 것을 목표로 합니다.
이 서비스를 사용하면 기존 AI 코드 및 서비스를 빠르게 용도 변경하고 이를 새 애플리케이션에 연결할 수 있습니다. Fabric과 같은 서비스는 에이전트 기능을 AI 에이전트 서비스 엔드포인트로 노출하여 AI 애플리케이션이 핵심 기간 업무 데이터에 원활하게 연결하여 환각 및 오류의 위험을 완화하기 위한 필수 접지 기능을 제공할 수 있습니다.
설치 시 서버는 에이전트에 연결하고 쿼리를 보내기 위한 MCP 작업 세트를 제공합니다. 또한 사용 가능한 에이전트를 나열하거나 특정 작업에 대한 기본 에이전트를 활용할 수 있습니다. 대화 스레드에 대한 지원이 포함되어 에이전트에 컨텍스트 대화를 위한 기본 의미 체계 메모리를 제공합니다. MCP를 사용하여 호출하려면 Azure AI 에이전트 서비스 에이전트 ID가 필요합니다.
서버는 Python으로 구현되었으며 pip
를 통해 Azure CLI를 사용하여 설치할 수 있습니다. 또는 선호하는 사용자를 위해 TypeScript 버전도 사용할 수 있습니다. Azure MCP 서버와 마찬가지로 이 서버는 AI Foundry 환경 외부에서 작동하므로 개발 PC에 설치하거나 Windows, macOS 및 Linux에 대한 지원을 통해 자체 컨테이너 또는 VM 내에서 클라우드 호스팅 애플리케이션의 일부로 설치할 수 있습니다.
Semantic Kernel AI 애플리케이션에서 MCP 서버 활용
오픈 표준으로서 MCP는 모든 클라이언트와 서버 호환성을 지원합니다. GitHub 리포지토리는 Anthropic의 Claude Desktop을 사용하여 연결을 설정하는 방법에 대한 지침을 제공하지만 진정한 가치는 Semantic Kernel 내에서 사용자 지정 에이전트 워크플로를 구축하는 데 있습니다.
Microsoft는 MCP 지원을 Semantic Kernel 오케스트레이션에 통합하여 익숙한 함수 호출과 통합되는 커널 플러그인으로 취급하는 방법을 보여주는 샘플 코드를 제공합니다. 이러한 통합은 에이전트로 래핑되어 필요에 따라 액세스할 수 있습니다. Semantic Kernel 내의 MCP 통합은 여전히 개발 중이지만 기존 기능 세트와 원활하게 통합되어 AI 애플리케이션에 서버에서 MCP 도구를 노출하는 데 최소한의 추가 코드가 필요합니다.
MCP와 같은 도구는 최신 AI 스택의 중요한 구성 요소이며 로컬 및 원격 애플리케이션 모두에 대해 검색 가능한 인터페이스를 구축하기 위한 표준화된 접근 방식을 제공합니다. 정의되면 MCP 도구를 쉽게 호출할 수 있으며 서버는 사용 가능한 도구 목록을 제공하고 MCP는 LLM에 해당 도구를 호출하고 해당 출력을 활용하기 위한 표준화된 수단을 제공합니다. 이 접근 방식은 표준 API, 데이터베이스 쿼리 및 AI 에이전트와 함께 작동하여 AI 애플리케이션을 위한 보편적인 접지 도구를 제공하는 데 크게 기여합니다.