[MCP Tutorial] 01. MCP란?

* 본 포스팅은 Microsoft의 mcp for beginners 레포지토리를 참고하여 작성되었습니다. 

 


MCP란?

MCP (Model Context Protocol) 이란, LLM이 외부 툴, API, 데이터 소스들과 상호작용할 수 있도록 표준화한 인터페이스입니다.

MCP를 통해 LLM은 훈련데이터나 규모 등과 상관없이 일관된 아키텍처를 통해 AI model functionality를 강화할 수 있습니다.

https://modelcontextprotocol.io/introduction

 

Introduction - Model Context Protocol

Get started with the Model Context Protocol (MCP)

modelcontextprotocol.io

 

 

왜 표준화가 중요할까요?

기존의 툴콜링 방식은 툴마다, 모델마다 형식들을 매번 지정해줘야 했고, 도구 호출 방식들이 모두 상이했습니다.

하지만 생성형 AI 기반의 애플리케이션이 점점 더 복잡해짐에 따라 확장성, 확장 가능성, 유지 보수성을 보장하는 표준에 대한 중요성이 점점 커지게 되었죠. 따라서 MCP는 이러한 요구들을 아래와 같은 방식으로 해결합니다.

 

  1. 모델과 툴 간의 통합방식을 통일
  2. 불안정하고 일회성인 커스텀 솔루션을 줄임
  3. 여러 모델이 하나의 생태계 안에서 공존할 수 있게 함

MCP를 통해 일종의 (클로드 공식 홈페이지 설명에 의하면.. 일종의 USB-C type 같은 역할을 한다고 하죠.😄) LLM과 도구들이 잘 상호작용할 수 있는 표준화 된 프로토콜을 구성할 수 있는 것입니다.

 

새로운 모델이 추가되거나, 도구들이 추가되더라도

MCP에 적용시키면 표준화된 방식으로 바로 사용할 수 있게 되는 것이죠. (🤔 일종의 규격을 맞추는 셈?)

그래서 '프로토콜' 이라는 명칭이 붙게 된 것 같네요.

 

Learning Objectives

여러 번의 MCP Tutorial 포스팅을 통해 아래와 같은 방법들을 익히고자 합니다.

  • MCP (Model Context Protocol)이 무엇인지 정의하고, Usecase 이해하기
  • MCP가 모델과 툴 간의 통신을 어떻게 표준화하는지 이해하기
  • MCP 아키텍처의 핵심 구성요소 식별하기
  • 기업 및 개발환경에서 MCP의 활용사례 확인하기

 

MCP Server가 동작하는 방법

MCP 서버는 AI 모델과 외부 툴 (ex. 검색, DB, 계산기 ... 등) 사이의 표준화된 중계자 역할을 수행합니다. 따라서 모델이 작업중에 외부 정보를 요청하면 MCP 서버가 툴을 연결하고, 실행하고, 결과를 포맷팅해서 다시 모델에게 전달해주는 역할을 합니다.

 

전체적인 흐름은 아래와 같이 진행됩니다.

MCP Flows

 

 

MCP Server의 각 기능들은 다음과 같습니다.

  • Tool Registry : 사용가능한 툴 목록 및 기능 저장소
  • Authentication : 툴 접근 권한 검증
  • Request Handler : 모델이 보낸 툴 요청을 처리
  • Response Formatter : 툴 결과를 모델이 이해할 수 있는 구조로 변환

 

따라서 모델이 MCP Server에 특정 기능이나 동작을 수행하도록 요청하면, Server는 해당 요청을 적절한 툴에 라우팅을 시키고, 툴은 작업을 수행합니다. (위 Flow에서는 웹 검색이나, 계산기, DB 질의 등이 되겠죠?🤗) 그리고 이 툴 결과를 Response Formatter를 통해 표준화된 형식으로 반환하게 됩니다. (ex. JSON or structured message)

 

그래서 AI 모델은 MCP 서버로부터 받은 결과를 Response에 통합시켜 최종 응답이 클라이언트에게 전달되도록 과정이 이루어지는 것이죠. 기존의 툴콜링과는 다르게 MCP는 리소스에도 접근할 수 있다는 점도 차이점으로 둘 수 있을 것 같은데요, 이를 통해 LLM에 맥락(Context)를 제공하기 위해 여러 데이터 소스와의 연결을 통해 지식(다양한 정보와 도구) 접근이 가능하게 됩니다.

 

 

기존의 툴 콜링 방식과의 차이점을 이해하시겠나요? 🧐

 

What's Next?

다음 포스팅에서는 MCPCore concept 들에 대해 알아보고자 합니다.

궁금한 점이나 잘못된 설명이 있다면 언제든 댓글 부탁드립니다🤓