개발

[LLM] 에이전트 시대의 표준 프로토콜, MCP

Funital01 2026. 6. 26. 00:55

 

AI 에이전트를 개발하다 보면 

  • Slack도 연결하고 싶고
  • GitHub도 연결하고 싶고
  • Notion도 연결하고 싶고
  • Google Drive도 연결하고 싶다

이와 같은 생각이 들게 됩니다.

 

하지만 서비스마다 API가 다르고, 연동 방식도 모두 달라서 매번 새로운 코드를 작성해야 하죠.

 

이 문제를 해결하기 위해 등장한 것이 바로 MCP(Model Context Protocol) 입니다.

MCP는 AI와 외부 도구를 연결하는 표준 규격으로, AI 시대의 USB-C 포트라고 할 수 있어요.

 

MCP란?

MCP(Model Context Protocol)는 AI 애플리케이션과 외부 도구 및 데이터를 연결하기 위한 오픈 표준 프로토콜입니다.

USB-C가 다양한 전자기기의 연결 방식을 통일했듯이, MCP는 AI와 외부 시스템의 연결 방식을 표준화합니다.  

 

기존에는 다음과 같은 문제가 있었습니다.

 

1. 도구가 많아질수록 복잡해진다

만약, AI 에이전트가 다음 서비스를 사용해야 한다고 가정해 봅시다.

  • Slack
  • GitHub
  • Notion
  • Google Drive
  • Jira

각 서비스마다

  • API 연동 코드 작성
  • 함수 정의
  • JSON Schema 작성

을 각각 별도로 해야 했습니다.

그래서 서비스가 늘어날수록 유지보수 비용도 기하급수적으로 증가했었죠.

 

 

MCP가 등장하게 된 가장 큰 이유는 바로 N×M 문제 때문입니다.

예를 들어

  • AI 애플리케이션 10개
  • 외부 서비스 20개

가 있다고 가정을 해보면, 기존 방식이라면?

10 × 20 = 200개의 개별 연동

 

다음과 같이 필요합니다.

 

하지만 MCP 표준을 사용하면

10 + 20

 

이렇게  줄어들죠.

 

즉, 한 번 만들면 어디서든 사용할 수 있다(Write Once, Read Many) 라는 철학을 가지고 있습니다!

 

MCP 아키텍처

MCP는 Client-Server 구조를 기반으로 동작합니다.

 

구성 요소는 크게 세 가지입니다.

구성요소 역할
Host AI 애플리케이션
Client 서버와 통신
Server 실제 도구와 데이터 제공

 

① Host는 사용자가 실제 사용하는 AI 애플리케이션입니다.

  • Claude Desktop
  • Cursor
  • IDE 기반 AI 도구

Host 안에는 LLM이 존재하며 사용자의 요청을 처리합니다.  

 

② Client는 MCP 서버와 통신하는 역할을 담당합니다.

Client와 Server는 1:1 관계라는 점인데요,

덕분에 권한과 컨텍스트가 서로 섞이지 않고 안전하게 관리됩니다.  

 

③ Server는 실제 기능을 제공하는 곳입니다.

  • Slack Server
  • GitHub Server
  • Notion Server
  • Database Server

등이 여기에 해당합니다.  

 

MCP의 두 계층

MCP는 크게 두 가지 계층으로 구성이 됩니다.

 

1. 데이터 계층(Data Layer)

여기서는 무엇을 주고받을 것인가를 정의합니다.

 

MCP는 JSON-RPC 2.0 기반으로 동작합니다.

{
  "method": "add",
  "params": [2,3]
}

 

위와 같은 방식으로 원격 서버에 요청을 전달합니다.  

 

2. 전송 계층(Transport Layer)

어떻게 데이터를 전달할 것인가를 정의합니다.

 

현재 MCP에서 주로 사용하는 방식은 다음 두 가지입니다.

방식 사용 환경
stdio 로컬 환경
Streamable HTTP 원격 서버

 

stdio는 로컬 머신에서 실행됩니다.

  • 네트워크 오버헤드 없음
  • 가장 빠름
  • Host가 Server를 서브 프로세스로 실행

Streamable HTTP는 원격 서버와 연결할 때 사용합니다.

  • HTTP POST 사용
  • SSE 스트리밍 지원
  • OAuth, API Key 지원

 

MCP의 세 가지 핵심 기능(Primitive)

MCP 서버는 세 가지 종류의 기능을 제공합니다.

기능 역할
Tools 실행 가능한 기능
Resources 읽기 전용 데이터
Prompts 재사용 가능한 프롬프트

 

Tools는 AI가 직접 호출하는 기능입니다.

  • 검색
  • 파일 생성
  • 메시지 전송
  • 데이터 수정

Resources는 AI가 읽기만 가능한 데이터입니다.

  • 문서
  • 데이터베이스 정보
  • 설정 파일

즉, 컨텍스트 제공 역할을 합니다.  

 

Prompts는 재사용 가능한 프롬프트 템플릿입니다.

회의록 정리 템플릿
코드 리뷰 템플릿

 

이와 같은 양식을 저장해둘 수 있습니다.  

 

MCP 연결 과정

MCP는 상태(State)를 가지는 프로토콜로, 연결에도 일정한 절차가 존재합니다.

1단계: Initialize

클라이언트가

내가 지원하는 기능은 이것들입니다.

 

를 서버에 전달합니다.

 

서버도

내가 지원하는 기능은 이것들입니다.

 

라고 응답합니다.  

 

2단계: Operation

여기서는 실제 작업이 수행됩니다.

 

tools/list
tools/call
resources/read

 

등의 요청이 오갑니다.  

 

3단계: Shutdown

작업이 끝나면 연결을 종료합니다.  

 

 

MCP가 등장해도 에이전트의 핵심 구조는 변하지 않습니다.

에이전트 루프는 다음과 같았는데요,

LLM
 ↓
Tool 선택
 ↓
Tool 실행
 ↓
결과 전달
 ↓
LLM

 

MCP에서도 동일합니다.

 

 

여기서 차이점은 하나입니다.

 

기존:

직접 만든 함수 호출

 

MCP:

MCP Server의 Tool 호출

 

즉, 에이전트 구조는 그대로 유지되고 도구를 제공하는 방식만 표준화된 것 입니다.  

 

 

MCP의 진짜 가치는 여러 서비스를 하나의 흐름으로 연결할 수 있다는 점입니다!

사용자:
“슬랙에 올라온 피그마 디자인을 반영해서 이메일 템플릿 수정해줘.”

AI:
 - Slack 조회
 - Figma 읽기
 - Notion 수정
 - GitHub 반영

 

이와 같이 모든 작업이 하나의 흐름으로 이어집니다.  

 

 

 

MCP가 필요한지 판단하는 가장 쉬운 기준으로, 

다른 도구의 내용을 복사해서 AI 채팅창에 붙여넣고 있다면? MCP를 연결하는 것이 좋습니다.

 

MCP를 사용하면 다음과 같이 변화해서 훨씬 편리해집니다!

구분 연결 전 연결 후
데이터 접근 사람이 복사 AI가 직접 조회
작업 수행 사람이 처리 AI가 자동 수행
최신성 붙여넣은 시점 항상 최신
범위 단일 도구 여러 도구

 

Insights

이전에는 노션, GitHub, Slack과 같은 서비스를 AI와 연동하려면 각각 별도의 코드를 작성해야 한다고 생각했지만,

MCP를 활용하면 하나의 표준 인터페이스를 통해 다양한 도구를 일관된 방식으로 사용할 수 있다는 점을 알게되었습니다.

 

또한, 이전에 학습한 에이전트의 LLM → Tool → Feedback → Loop 구조가 그대로 유지되면서,

MCP가 그 위에서 다양한 외부 서비스를 연결하는 역할을 한다는 점을 이해할 수 있었습니다.

 

앞으로 AI 에이전트가 발전할수록 MCP와 같은 표준 프로토콜의 중요성은 더욱 커질 것 같고,

에이전트 개발을 위해 반드시 이해해야 할 핵심 기술인 것 같습니다!