대규모 언어 모델(LLM)은 강력하지만 두 가지 주요 한계가 있습니다. 하나는 학습 시점의 지식에 고착되어 있다는 점이고, 다른 하나는 외부 세계와 상호작용할 수 없다는 점입니다. 즉, 실시간 데이터에 액세스하거나 회의 예약, 고객 기록 업데이트와 같은 작업을 수행할 수 없습니다.
Model Context Protocol(MCP)은 이러한 문제를 해결하기 위해 설계된 개방형 표준입니다. 2024년 11월 Anthropic에서 도입한 MCP는 LLM이 외부 데이터, 애플리케이션, 서비스와 통신할 수 있는 안전하고 표준화된 '언어'를 제공합니다. AI가 정적 지식을 넘어 현재 정보를 검색하고 조치를 취할 수 있는 동적 에이전트가 되도록 지원하는 브리지 역할을 하여 AI의 정확성, 유용성, 자동화를 높입니다.
MCP는 AI 애플리케이션을 위한 표준화된 양방향 연결을 생성하여 LLM이 다양한 데이터 소스 및 도구에 쉽게 연결할 수 있도록 합니다. MCP는 도구 사용 및 함수 호출과 같은 기존 개념을 기반으로 빌드되지만 이를 표준화합니다. 따라서 각 새로운 AI 모델과 외부 시스템에 대한 커스텀 연결의 필요성이 줄어듭니다. 이를 통해 LLM은 현재의 실제 데이터를 사용하고 작업을 수행하며 원래 학습에 포함되지 않은 특수한 기능에 액세스할 수 있습니다.
Model Context Protocol은 LLM과 외부 시스템이 쉽게 상호작용할 수 있도록 함께 작동하는 구성요소로 명확하게 구성되어 있습니다.
LLM은 AI 기반 IDE 또는 대화형 AI와 같은 AI 애플리케이션 또는 환경인 MCP 호스트 내에 포함되어 있습니다. 일반적으로 사용자의 상호작용 지점이며, MCP 호스트는 LLM을 사용하여 외부 데이터나 도구가 필요할 수 있는 요청을 처리합니다.
MCP 호스트 내에 있는 MCP 클라이언트는 LLM과 MCP 서버가 서로 통신하도록 도와줍니다. MCP에 대한 LLM의 요청을 변환하고 LLM에 대한 MCP의 대답을 변환합니다. 또한 사용 가능한 MCP 서버를 찾아 사용합니다.
MCP 서버는 LLM에 컨텍스트, 데이터 또는 기능을 제공하는 외부 서비스입니다. 데이터베이스 및 웹 서비스와 같은 외부 시스템에 연결하여 LLM의 응답을 LLM이 이해할 수 있는 형식으로 변환함으로써 개발자가 다양한 기능을 제공할 수 있도록 LLM을 지원합니다.
전송 계층은 JSON-RPC 2.0 메시지를 사용하여 클라이언트와 서버 간에 통신하며, 주로 다음 두 가지 전송 방법을 사용합니다.
Model Context Protocol의 핵심은 LLM이 외부 도구에 도움을 요청하여 쿼리에 답변하거나 작업을 완료할 수 있도록 하는 것입니다. AI 어시스턴트에게 '데이터베이스에서 최신 판매 보고서를 찾아 내 관리자에게 이메일로 보내 줘'라고 요청한다고 가정해 보겠습니다.
MCP가 이를 처리하는 방식을 간략하게 살펴보겠습니다.
Model Context Protocol(MCP)과 검색 증강 생성(RAG)은 모두 외부 정보를 통해 LLM을 개선하지만, 그 방식과 목적은 서로 다릅니다. RAG는 텍스트를 생성하기 위한 정보를 찾아서 사용하는 반면, MCP는 상호작용과 작업을 위한 더 광범위한 시스템입니다.
기능 | Model Context Protocol(MCP) | 검색 증강 생성(RAG) |
기본 목표 | LLM이 외부 도구, 데이터 소스, 서비스에 액세스하고 상호작용하여 정보 검색과 함께 작업을 수행할 수 있도록 양방향 통신을 표준화합니다. | 응답을 생성하기 전에 신뢰할 수 있는 기술 자료에서 관련 정보를 검색하여 LLM 응답을 개선합니다. |
메커니즘 | LLM 애플리케이션이 외부 함수를 호출하거나 특수 서버에서 정형 데이터를 요청할 수 있는 표준화된 프로토콜을 정의하여 작업 및 동적 컨텍스트 통합을 지원합니다. | 사용자의 쿼리를 사용하여 기술 자료 또는 데이터 소스에서 정보를 가져오는 정보 검색 구성요소를 통합합니다. 이렇게 검색된 정보는 LLM의 프롬프트를 보강합니다. |
출력 유형 | LLM이 도구에 대한 구조화된 호출을 생성하고 결과를 수신한 다음 해당 결과와 작업을 기반으로 인간이 읽을 수 있는 텍스트를 생성할 수 있도록 합니다. 실시간 데이터와 함수도 포함될 수 있습니다. | LLM은 외부 문서의 쿼리와 관련된 텍스트로 보강된 학습 데이터를 기반으로 응답을 생성합니다. 사실 정확성에 중점을 두는 경우가 많습니다. |
상호작용 | 외부 시스템에서 활발한 상호작용과 작업 실행을 위해 설계되었으며, LLM이 외부 기능을 '사용'할 수 있는 '문법'을 제공합니다. | 주로 텍스트 생성을 위한 정보의 수동 검색에 사용되며, 일반적으로 외부 시스템 내에서 작업을 실행하는 데는 사용되지 않습니다. |
표준화 | AI 애플리케이션이 LLM에 컨텍스트를 제공하는 방식에 대한 개방형 표준으로, 통합을 표준화하고 커스텀 API의 필요성을 줄입니다. | LLM을 개선하기 위한 기법 또는 프레임워크이지만, 여러 공급업체 또는 시스템 전반에서 도구 상호작용을 위한 범용 프로토콜은 아닙니다. |
사용 사례 | AI 에이전트는 작업(예: 항공편 예약, CRM 업데이트, 코드 실행)을 수행하고, 실시간 데이터를 가져오고, 고급 통합을 수행합니다. | 질의 응답 시스템, 최신 사실 정보를 제공하는 챗봇, 문서 요약, 텍스트 생성 시 할루시네이션 감소 |
기능
Model Context Protocol(MCP)
검색 증강 생성(RAG)
기본 목표
LLM이 외부 도구, 데이터 소스, 서비스에 액세스하고 상호작용하여 정보 검색과 함께 작업을 수행할 수 있도록 양방향 통신을 표준화합니다.
응답을 생성하기 전에 신뢰할 수 있는 기술 자료에서 관련 정보를 검색하여 LLM 응답을 개선합니다.
메커니즘
LLM 애플리케이션이 외부 함수를 호출하거나 특수 서버에서 정형 데이터를 요청할 수 있는 표준화된 프로토콜을 정의하여 작업 및 동적 컨텍스트 통합을 지원합니다.
사용자의 쿼리를 사용하여 기술 자료 또는 데이터 소스에서 정보를 가져오는 정보 검색 구성요소를 통합합니다. 이렇게 검색된 정보는 LLM의 프롬프트를 보강합니다.
출력 유형
LLM이 도구에 대한 구조화된 호출을 생성하고 결과를 수신한 다음 해당 결과와 작업을 기반으로 인간이 읽을 수 있는 텍스트를 생성할 수 있도록 합니다. 실시간 데이터와 함수도 포함될 수 있습니다.
LLM은 외부 문서의 쿼리와 관련된 텍스트로 보강된 학습 데이터를 기반으로 응답을 생성합니다. 사실 정확성에 중점을 두는 경우가 많습니다.
상호작용
외부 시스템에서 활발한 상호작용과 작업 실행을 위해 설계되었으며, LLM이 외부 기능을 '사용'할 수 있는 '문법'을 제공합니다.
주로 텍스트 생성을 위한 정보의 수동 검색에 사용되며, 일반적으로 외부 시스템 내에서 작업을 실행하는 데는 사용되지 않습니다.
표준화
AI 애플리케이션이 LLM에 컨텍스트를 제공하는 방식에 대한 개방형 표준으로, 통합을 표준화하고 커스텀 API의 필요성을 줄입니다.
LLM을 개선하기 위한 기법 또는 프레임워크이지만, 여러 공급업체 또는 시스템 전반에서 도구 상호작용을 위한 범용 프로토콜은 아닙니다.
사용 사례
AI 에이전트는 작업(예: 항공편 예약, CRM 업데이트, 코드 실행)을 수행하고, 실시간 데이터를 가져오고, 고급 통합을 수행합니다.
질의 응답 시스템, 최신 사실 정보를 제공하는 챗봇, 문서 요약, 텍스트 생성 시 할루시네이션 감소
Model Context Protocol은 AI 기반 애플리케이션을 개발하고 배포하는 데 여러 가지 잠재적인 이점을 제공하여 LLM을 더욱 다재다능하고 안정적이며 유능하게 만듭니다.
LLM은 본질적으로 실시간 정보가 아닌 학습 데이터를 기반으로 대답을 예측하기 때문에 때로는 사실을 꾸며내거나 그럴듯하지만 궁극적으로는 잘못된 정보(할루시네이션)를 생성할 수 있습니다. MCP는 LLM이 외부의 신뢰할 수 있는 데이터 소스에 액세스할 수 있는 명확한 방법을 제공하여 이러한 문제를 줄이고 응답을 더욱 진실되게 만드는 데 도움이 됩니다.
이 프로토콜은 AI가 훨씬 더 많은 작업을 수행하고 스스로 작동하도록 도와줍니다. 일반적으로 LLM은 학습한 내용만 알고 있으며, 이 내용은 빠르게 오래된 정보가 될 수 있습니다. 그러나 MCP를 사용하면 LLM을 비즈니스 소프트웨어, 콘텐츠 저장소, 개발 환경과 같은 많은 기성 도구 및 통합과 연결할 수 있습니다. 즉, AI가 CRM 시스템에서 고객 정보를 업데이트하거나 온라인에서 현재 이벤트를 검색하거나 특수 계산을 실행하는 등 실제 세계와의 상호작용이 필요한 더 복잡한 작업을 처리할 수 있습니다. 이러한 외부 도구에 직접 연결함으로써 LLM은 더 이상 단순한 채팅 프로그램이 아니라 독립적으로 행동할 수 있는 스마트 에이전트가 되며, 이는 훨씬 더 많은 작업을 자동화할 수 있음을 의미합니다.
MCP 이전에는 LLM을 다양한 외부 데이터 소스 및 도구에 연결하기가 더 어려웠으며, 일반적으로 특수 연결이 필요하거나 각 공급업체에 특정한 방법을 사용해야 했습니다. 이로 인해 복잡하고 지저분한 시스템이 생겨났으며, 이를 'N x M' 문제라고 부르기도 합니다. 새로운 모델이나 도구가 추가될 때마다 필요한 커스텀 연결의 수가 매우 빠르게 증가했기 때문입니다. MCP는 USB-C 포트가 기기 연결을 간편하게 만들어 주는 것과 마찬가지로 이러한 연결을 더 쉽게 만들어 주는 공통의 개방형 표준을 제공합니다. 이러한 간소화된 방법은 개발 비용을 절감하고 AI 애플리케이션 생성을 가속화하며 더욱 연결된 AI 환경을 조성할 수 있습니다. 또한 개발자는 주요 변경사항 없이 LLM 제공업체 간에 더 쉽게 전환하고 새로운 도구를 추가할 수 있습니다.
Model Context Protocol은 LLM을 외부 시스템에 연결하여 LLM 기능을 개선하지만, 중요한 보안 고려사항을 야기할 수도 있습니다. MCP는 연결된 도구를 통해 모든 데이터에 액세스하고 코드를 실행할 수 있으므로 강력한 보안이 필수적입니다.
MCP의 주요 보안 원칙은 다음과 같습니다.
개발자는 이러한 원칙을 고수함으로써 잠재적인 위험으로부터 보호하면서 MCP의 강력한 기능을 사용할 수 있습니다.
Model Context Protocol을 구현하려면 LLM, MCP 서버, 기본 데이터 소스를 호스팅할 수 있는 강력한 인프라가 필요합니다. 클라우드 플랫폼은 완전한 솔루션을 빌드하는 데 필요한 확장 가능하고 안전한 구성요소를 제공합니다. 다음과 같은 방법으로 접근할 수 있습니다.
MCP 서버는 외부 도구와의 연결 고리입니다. 필요에 따라 다음을 선택할 수 있습니다.
모든 것을 하나로 묶는 데는 통합 AI 플랫폼이 필수적입니다. Vertex AI는 MCP 기반 애플리케이션의 전체 수명 주기를 관리하는 데 도움이 됩니다.