요즘 AI 모델, 특히 ChatGPT 같은 대형 언어 모델(LLM, Large Language Model)은 점점 더 똑똑해지고 있습니다. 하지만, 이 모델이 언제 어디서 어떤 정보를 가지고 작동하는지를 파악하기는 여전히 어렵습니다. 예를 들어, 모델이 어떤 문맥을 바탕으로 대화를 이어가는지, 어디서 얻은 데이터를 참고하고 있는지 등은 사용자 입장에서는 보이지 않는 '블랙박스'처럼 느껴지기도 합니다
이 문제를 해결하기 위해 등장한 개념이 바로
Model Context Protocol
, 줄여서 MCP입니다. 쉽게 말해 "모델이 어떤 맥락(Context)을 기반으로 작동하는지 정리하고 전달해주는 약속된 형식"이라고 보시면 됩니다
이번 글에서는 MCP가 무엇인지, 왜 필요한지, 어떻게 구성되고, 실제 애플리케이션에서는 어떻게 구현할 수 있는지까지 순서대로 살펴보겠습니다
MCP(Model Context Protocol)는 OpenAI가 제안한 구조로, 대형 언어 모델에게 주어지는 문맥(Context)을 계층적으로 정리하는 형식입니다. 다양한 정보(사용자 정보, 대화 이력, 외부 문서, 시스템 지침 등)를 정해진 구조에 따라 구성하여 모델에게 전달하면, 모델이 더욱 일관성 있고 정확하게 작동할 수 있게 됩니다
MCP의 대표적인 구성 요소는 다음과 같습니다:
system
: 모델이 따라야 할 기본 규칙 또는 인격 (예: "친절한 TypeScript 전문가로 대답해 주세요")
tools
: 사용할 수 있는 기능들 (예: 코드 해석기, 검색 도구 등)
files
: 참조할 외부 문서 (예: PDF, 코드 파일, 메모 등)
threads
: 대화 이력 및 컨텍스트
user
: 사용자 정보 (이름, 역할, 목적 등)
이 요소들을 기반으로 모델은 '지금 내가 누구와, 어떤 문맥에서, 어떤 역할로' 대화하는지를 이해하게 됩니다