LLM계의 C타입, MCP에 대해 알아보자
인터넷이 처음 등장했던 시기를 떠올려 봅시다. 1960년대 후반 미국에서 군사용 기술 아르파넷(ARPANET)으로 처음 시작된 인터넷은, 기술 상용화와 함께 훗날 전 세계 모든 컴퓨터를 서로 연결하여 거대한 네트워크를 구축하고자 하는 원대한 구상으로 발전하여 오늘날에 이르렀습니다.
그러나 아마도 처음부터 전 세계 모든 컴퓨터가 서로 연결되어 있었던 것은 아니었을 것입니다. 사실 초기의 웹 공간은 각각의 시스템과 네트워크가 제각기 따로 놀던 춘추전국시대와 같은 모습에 가까웠습니다. HTTP, TCP/IP와 같은 통신 프로토콜들이 정비되고, 표준화의 과정을 거치면서 비로소 이질적인 시스템들이 하나의 ‘인터넷’이라는 공간에서 서로 연결되고 소통할 수 있게 되었죠. 이처럼 기술의 발전은 언제나 ‘연결’과 '통합'을 통해 새로운 가능성을 열어왔습니다.
그렇다면 생성형 AI 기술은 어느 단계에 와있을까요? 2022년 말 챗GPT의 등장과 함께 시작된 생성형 AI 혁명 역시 인터넷과 비슷한 전환점을 맞이하고 있습니다. 다양한 프레임워크와 언어, 모델로 개발된 AI 에이전트들이 각자의 섬처럼 존재하던 시대에서, 이들을 연결하는 새로운 프로토콜이 필요해진 것이죠. 지난 시간에 소개한 A2A(Agent to Agent)가 바로 그 연결의 시작점이라고 할 수 있었습니다.
하지만 그보다 조금 앞서 다양한 LLM과 데이터 소스를 연결하는 표준 프로토콜을 만들고자 하는 시도가 있었습니다. 바로 2024년 11월 앤트로픽(Anthropic)사에서 발표한 MCP(Model Context Protocol)입니다. 이번시간에는 각각의 LLM과 다양한 데이터 소스를 이어 주기 위한 프로토콜인 MCP에 대해 살펴보도록 하겠습니다.
LLM의 답변 품질을 향상시키고 유저들에게 놀라운 경험을 선사하기 위해 가장 중요한 것은 무엇일까요? 다시 말해 유저들은 어떨 때 LLM이 정말로 쓸만하다고 느낄까요? 바로 'LLM이 스스로 검색하여 최신 정보를 가져올 때'나 '알려준 적도 없는데 나에 대한 정보를 미리 알고, 나의 상황에 맞는 조언을 척척 해줄 때'일 것입니다.
이를 위해서는 LLM이 기존에 사전학습(pre-trained)된 정보들 뿐 아니라 실시간(real-time)으로 최신 정보를 가져오는 것이 중요합니다. 이를 위해서는 외부 데이터 소스 활용이 필수입니다. 마찬가지로 유저의 정보를 바탕으로 개인화된(customized) 답변을 제공하기 위해서도 별도 데이터베이스(DB) 연동이 필요하죠.
이를 구현하기 위해서는 보통 API 호출이 필요합니다. 예를 들어 최신 환율 정보를 제공하는 AI 에이전트를 구축하는 케이스를 가정해 봅시다. 우선 실시간으로 변화하는 환율 API를 호출하는 코드를 작성한 뒤에, JSON 형식으로 받은 데이터를 LLM이 활용할 수 있는 구조로 변환해 주는 과정이 필요합니다.
이러한 외부 데이터는 웹 API 뿐 아니라 각종 형태의 데이터베이스(DB)나 파일 시스템 등 다양한 형태로 존재합니다. 하지만 기존의 LLM은 각각의 특정 데이터 소스와 연동해야 하는 불편함이 있었습니다. 예를 들어 맞춤형 여행 계획을 짜주는 AI 에이전트의 경우, 위의 사례와 같이 환율뿐만 아니라, 고객 정보 DB나 항공권 가격 API 등 다양한 데이터 소스를 각각 따로 연결해주어야 하는 번거로운 과정이 필요합니다.
이러한 문제를 해결하기 위해 등장한 것이 바로 MCP(Model Context Protocol)입니다. MCP는 쉽게 말해 LLM과 외부 데이터 소스(웹 API, 데이터베이스, 파일 시스템 등)를 하나로 연동할 수 있게 해주는 개방형 표준 프로토콜입니다.
이를 통해 각각의 데이터 소스를 연동해야 하는 번거로움 없이 LLM이 필요할 때마다 외부 데이터를 가져오거나, 특정 기능을 실행할 수 있습니다. LLM을 MCP와 연동하기만 하면 다양한 데이터 소스를 일일이 연동해 줄 필요 없이 매우 유연하게 활용할 수 있는 것입니다.
우리가 일상에서 흔히 사용하는 'C타입 충전기'를 떠올려 보면, MCP의 역할을 좀 더 쉽게 이해할 수 있습니다. 예전에는 스마트폰, 노트북, 태블릿 등 기기마다 각기 다른 충전 포트를 사용해 각각에 맞는 충전기를 따로 준비해야 했습니다. 그러나 USB-C가 등장하면서 하나의 표준 포트만으로도 다양한 기기를 충전할 수 있게 되었죠. 이처럼 C타입 충전기는 '기기와 전원' 사이의 연결 방식을 통합하여 사용자 경험을 획기적으로 개선했습니다.
MCP 역시 마찬가지입니다. 다양한 데이터 소스와 LLM 간의 연결 방식을 통합함으로써, 마치 어떤 기기든 하나의 충전기로 연결할 수 있듯, 어떤 데이터든 하나의 프로토콜로 LLM에 연결할 수 있는 길을 열어줍니다. 결국 MCP는 생성형 AI 생태계에서의 'C타입 충전기'와도 같은 존재인 셈입니다.
결국 기술의 진화는 언제나 복잡한 것을 단순하게 만들고, 흩어진 것을 하나로 연결하는 방향으로 나아갑니다. 인터넷이 TCP/IP라는 표준을 통해 전 세계를 하나로 엮었듯, 생성형 AI의 세계도 이제는 MCP와 같은 연결의 언어가 등장하고 통합을 향해 나아가고 있습니다. 이러한 의미에서 MCP는 단순한 기술 사양 그 이상의 혁신이라고 할 수 있습니다. MCP는 앞으로의 AI 에이전트들이 더욱 지능적이고 유연하게 진화할 수 있는 기반이 되어줄 것이기 때문입니다. 어쩌면 생성형 AI의 다음 단계는 ‘더 똑똑한 모델’이 아니라, ‘더 잘 연결된 생태계’ 일지도 모릅니다.