MCP 프로토콜 한 번에 이해하기: AI 에이전트의 USB-C 인터페이스

MCP 프로토콜 한 번에 이해하기: AI 에이전트의 USB-C 인터페이스

2024년 3월 19일·
bexzhang
,
osli
·기술 분석·MCP, AI-Agent, 데이터 통합, AI 표준화, Anthropic, 시스템 통합, 오픈 프로토콜

MCP 프로토콜 계층 아키텍처
MCP 프로토콜 계층 아키텍처

AI가 미디어 산업의 가치사슬을 재편하는 시대에, 콘텐츠 생산/분배/사용자 접점의 효율은 단일 지점 최적화에서 알고리즘 기반의 전역적 협업으로 확장되고 있습니다. 그러나 대규모 데이터 사일로, 플랫폼별 인터페이스에 대한 굴뚝식 개발은 여전히 기술 자원의 AI 통합을 가로막는 병목입니다.

이 글은 MCP를 기술 아키텍처부터 산업 적용 관점까지 분해해, “한 번 연결하면 어디서나 호출"할 수 있는 차세대 인터페이스 표준이 어떻게 데이터 자산의 활용도를 끌어올릴 수 있는지 설명합니다.

이 글은 @bexzhang 작성, @osli 수정(원문 출처: Tencent Cloud Smart Media)입니다.

1. MCP의 기원

배경과 문제

AI 애플리케이션이 고도화되면서, 모델과 외부 데이터/도구의 통합은 굴뚝식 개발로 흘러가기 쉽습니다(각 모델이 각 데이터 소스에 별도로 붙는 방식). 이 경우 개발 비용이 커지고, 보안 취약성이 늘며, 확장성이 떨어집니다. 특히 엔터프라이즈 환경에서는 데이터 민감도가 높아 변경 프로세스가 길고, 범용적이며 합의된 오픈 표준이 부재하다는 점도 통합을 느리게 만듭니다.

시장에서 LangChain Tools, LlamaIndex, Vercel AI SDK 등 에이전트 개발 프레임워크도 존재하지만, 많은 커스텀 코드를 요구해 규모화가 쉽지 않습니다.

LangChain과 LlamaIndex는 추상화 계층이 과도해, 시스템이 복잡해질수록 개발 경험이 급격히 나빠질 수 있다는 평가도 있습니다. Vercel AI SDK는 프론트엔드 UI 및 일부 AI 기능의 캡슐화는 좋지만 Next.js와의 결합이 강해 다른 프레임워크/언어 확장성에 한계가 있습니다.

탄생과 목표

제안자: Anthropic(Claude 개발사)가 2024년 11월 말 공개 및 오픈소스로 발표했습니다. https://www.anthropic.com/news/model-context-protocol

핵심 목표: USB-C처럼 표준화된 프로토콜로 AI 모델과 외부 리소스의 상호작용 인터페이스를 통일해 “한 번 통합하면 어디서나 실행"을 가능하게 하는 것입니다. 데이터 사일로로 인해 AI 모델의 잠재력이 제한되는 문제를 완화하고, AI 애플리케이션이 로컬/원격 데이터를 안전하게 접근/조작하도록 돕습니다.

MCP 비교
MCP 비교

기술 진화 타임라인:

시점단계핵심 이벤트
2023년 이전원시 단계AI마다 별도 Function Call 인터페이스를 구현
2023년맹아LangChain 등에서 도구 호출의 범용화를 시도
2024년 11월프로토콜 등장Anthropic이 MCP 1.0을 오픈소스로 공개
2025년 1분기생태계 확장GitHub에 200+ 서드파티 MCP 서버 구현 등장

2. MCP의 개념과 장점

MCP 정의

MCP는 표준화된 언어와 인터페이스로 AI 모델과 외부 데이터 소스/도구의 상호작용을 구현하는 오픈 프로토콜입니다. 핵심 기능은 예를 들어 다음과 같습니다:

  • 통합 어댑터: 데이터 소스별 API를 모델이 이해 가능한 표준 요청으로 변환
  • 보안 연결 계층: 로컬/원격 리소스 접근을 지원(데이터를 반드시 클라우드로 올릴 필요 없음)

표준 프로토콜은 대개 업계 주요 플레이어가 주도해 합의를 만들어야 확산이 쉽습니다. 커뮤니티 자발 합의만으로는 형성이 어려운 경우가 많습니다.

쉬운 비유

“만능 리모컨” 비유

기업 시스템이 서로 다른 브랜드의 스마트 가전(TV/에어컨/스피커 등)이라고 가정하면, 과거에는 기기마다 전용 리모컨(커스텀 인터페이스)이 필요했습니다. MCP는 여러 기기의 프로토콜을 미리 알고 있는 만능 리모컨처럼, AI가 동일한 조작 체계로 다양한 시스템에 접근하게 해줍니다.

“AI의 USB-C” 비유

공식적으로 MCP는 AI 분야의 USB-C 인터페이스에 비유됩니다. 서로 다른 AI 어시스턴트가 과거에는 각자 다른 케이블/어댑터로 다양한 외부 시스템에 연결해야 했다면, MCP는 통일된 접점을 제공해 AI가 즉시 연결하고 사용할 수 있는 기반을 만듭니다.

AI의 USB-C 인터페이스
AI의 USB-C 인터페이스

MCP의 장점

MCP(Model Context Protocol)는 LLM 애플리케이션에서 흔히 발생하는 데이터 사일로와 도구 통합 문제를 겨냥해 다음 능력을 제공합니다:

  • 생태계: 활용 가능한 서버/도구 구현이 빠르게 늘어남
  • 통일성: 특정 모델에만 종속되기보다, MCP를 지원하는 모델/호스트/클라이언트 간 상호운용에 초점
  • 데이터 보안: 필요한 데이터만 노출하도록 인터페이스를 설계할 수 있음

MCP와 Function Calling 비교

구분MCP(Model Context Protocol)Function Calling
목표AI 모델과 외부 시스템(리소스/도구/프롬프트) 간 표준화된 상호작용모델이 특정 함수를 호출하도록 하는 호출 메커니즘
인터랙션 모델Prompts/Resources/Tools 등 원시 타입으로 복합 흐름을 구조화보통 단일 호출(툴/함수 호출) 중심으로 단방향 패턴이 많음
상호운용성프로토콜 준수 시 호스트/서버 간 재사용과 교체가 쉬움플랫폼/모델별 포맷 차이가 있어 이식 비용이 발생하기 쉬움
전제모델/호스트/클라이언트가 MCP를 지원해야 함모델 제공자의 기능 지원에 의존

MCP vs Function Calling
MCP vs Function Calling

3. MCP의 핵심 원리와 기술 아키텍처

핵심 아키텍처

MCP는 클라이언트-서버 분산 아키텍처를 채택합니다. LLM과 리소스 사이의 통신을 클라이언트/서버/리소스로 나누며, 클라이언트가 MCP 서버에 요청을 보내면 서버가 이를 적절한 리소스로 중계합니다. 계층화 설계는 접근 권한 제어를 강화해, 승인된 사용자만 특정 리소스에 접근하도록 만들 수 있습니다.

MCP 핵심 아키텍처
MCP 핵심 아키텍처

  • MCP Host(호스트 애플리케이션): LLM이 연결을 시작하는 애플리케이션(예: Cursor, Claude Desktop, Cline 등)
  • MCP Client(클라이언트): 호스트 내부에서 서버와 1:1 연결을 유지하는 컴포넌트(호스트는 여러 클라이언트를 실행해 여러 서버에 동시 연결 가능)
  • MCP Server(서버): 독립 실행되는 경량 프로그램으로, 표준 프로토콜로 컨텍스트/도구/프롬프트를 제공
  • 로컬 데이터 소스: 로컬 파일/DB/API 등
  • 원격 서비스: 외부 파일/DB/API 등

이 구조에서 호스트는 여러 MCP 서버에 동시에 연결할 수 있고, 서버는 각자 하나의 데이터 소스/서비스를 담당하는 식으로 역할이 분리됩니다. 결과적으로 모듈성(서버 단위로 추가/제거), 디커플링(모델과 데이터 소스 구현 분리), 양방향 통신(필요 시 서버가 모델 측에 요청을 트리거할 여지) 같은 이점을 얻습니다.

동작 흐름

MCP 동작 흐름
MCP 동작 흐름

  1. 연결 초기화: 클라이언트가 서버에 연결을 요청하고 통신 채널을 수립합니다.
  2. 요청 전송: 클라이언트가 요구에 맞는 요청 메시지를 구성해 서버로 보냅니다.
  3. 요청 처리: 서버가 요청을 해석하고, DB 질의/파일 읽기 등 해당 작업을 수행합니다.
  4. 결과 반환: 서버가 결과를 응답 메시지로 구성해 클라이언트로 돌려줍니다.
  5. 연결 종료: 작업이 끝나면 클라이언트가 연결을 닫거나 서버의 타임아웃으로 종료됩니다.

통신 방식

MCP는 JSON-RPC 2.0 기반 메시징을 정의합니다. 핵심 특징은 다음과 같습니다:

  • 전송 유연성: STDIO(로컬)와 SSE+HTTP POST(네트워크) 전송을 기본 지원하며, 필요 시 다른 전송 채널도 확장 가능
  • 메시지 투명성: JSON 포맷으로 요청(ID 포함)/응답(결과 또는 오류)/알림(응답 없음)을 표현
  • 개발 친화성: 사람이 읽을 수 있는 JSON 메시지라 디버깅이 쉬우며, 요청-응답 매칭/오류 전달/동시성 처리를 프로토콜 계층이 보조

핵심 메커니즘: Primitives(원시 타입)

MCP는 AI와 외부 시스템의 상호작용을 몇 가지 원시 타입으로 추상화해, 클라이언트/서버가 제공할 수 있는 기능을 명확히 합니다.

MCP 서버가 제공할 수 있는 3가지 원시 타입:

  • Prompts(프롬프트): 미리 작성된 프롬프트 템플릿. 예를 들어 “코드 리뷰 프롬프트” 같은 템플릿을 제공해 모델 입력에 삽입할 수 있습니다.
  • Resources(리소스): 구조화된 데이터/문서 콘텐츠. DB 레코드, 사용자 노트 등 컨텍스트로 제공되는 읽기 중심 데이터가 해당합니다.
  • Tools(도구): 모델이 호출할 수 있는 실행 작업/함수. 부작용과 보안 위험이 있을 수 있으므로, 일반적으로 사용자 승인(human-in-the-loop)이 중요합니다.

MCP 클라이언트가 제공할 수 있는 2가지 원시 타입(서버 보조 기능):

  • Roots(루트): 클라이언트 측 파일 시스템의 허용 범위를 나타내는 엔트리/핸들. 서버는 승인된 범위 내에서만 로컬 데이터에 접근할 수 있습니다.
  • Sampling(샘플링): 서버가 클라이언트에 LLM 생성(보완/추론)을 요청할 수 있는 메커니즘. 복잡한 에이전트 워크플로에서 유용하지만, 사람의 감독을 유지하는 것이 중요합니다.

원시 타입을 구분하면 “읽기 컨텍스트”(Resources)와 “실행”(Tools) 같은 의도를 명확히 분리할 수 있어, 승인/감사/모니터링 관점에서도 투명성이 높아집니다.

4. MCP 서버 분류 및 적용

MCP Server는 MCP 서비스의 핵심이며, 여기서는 공식/서드파티/커뮤니티 서버를 기준으로 대표 사례를 정리합니다.

1) 공식 MCP Server

(Model Context Protocol 핵심 팀이 유지관리하며, 표준 구현과 모범 사례를 포함)

핵심 인프라

확장 도구

AI 강화 도구

2) 서드파티 MCP Server

(전문 벤더/팀이 유지관리하며, 도메인 깊이가 있는 통합을 제공)

데이터/분석

벡터 검색

AI 서비스

개발 도구

웹 수집/자동화

3) 커뮤니티 MCP Server

(개발자 커뮤니티가 기여하며, 롱테일/실험적 요구를 폭넓게 커버)

로컬 도구 통합

브라우저 자동화

수직 도메인

개발자 도구

프라이버시 강화

4) 비교

관점공식 Servers서드파티 Servers커뮤니티 Servers
유지관리장기 유지, 비교적 예측 가능한 릴리스벤더 지원 주기에 의존개인/커뮤니티의 활동성에 의존
프로토콜 호환성최신 MCP 사양 준수에 가장 충실대개 핵심 사양 중심실험적 확장/불완전 구현 가능
보안 감사상대적으로 엄격한 기준을 기대 가능일부 벤더는 상용 수준 감사 제공강제 감사 메커니즘 없음
배포 난이도표준 설치/문서 제공 경향벤더 전용 자격 증명/설정 필요의존성/환경을 수동으로 다듬어야 할 때가 많음
대표 시나리오기반 기능/핵심 업무도메인 특화 요구개인화/실험적 요구

보충: 원격 MCP 연결(Remote MCP Connections)

전송 방식 설명으로 “원격 MCP 연결"이 이미 완전히 구현된 것으로 오해할 수 있지만, 현 시점의 클라이언트/서버 구현은 주로 로컬 실행을 전제로 합니다. 원격 서버에 연결이 필요하면, 로컬에서 연결된 서버가 다시 원격으로 연결을 중계하는 형태가 사용되기도 합니다.

이 주제는 2025년 로드맵에서 언급됩니다: https://modelcontextprotocol.io/development/roadmap

Remote MCP Connections를 위한 주요 과제(예시):

  • 인증/인가(Authentication & Authorization): OAuth 2.0 중심의 표준화된 인증 능력
  • 서비스 디스커버리(Service Discovery): 클라이언트가 원격 MCP 서버를 발견/연결하는 방식
  • 무상태 작업(Stateless Operations): 서버리스 환경에서 가능한 한 무상태로 동작하는 형태 탐색

참고 링크

  1. https://www.anthropic.com/news/model-context-protocol
  2. https://modelcontextprotocol.io/development/roadmap
  3. https://github.com/modelcontextprotocol
  4. https://mcp.so/servers
  5. https://github.com/punkpeye/awesome-mcp-servers
  6. https://github.com/appcypher/awesome-mcp-servers
  7. https://github.com/modelcontextprotocol/python-sdk
  8. https://github.com/punkpeye/awesome-mcp-servers?tab=readme-ov-file#frameworks
  9. https://mp.weixin.qq.com/s/Toj2TudFNXx6_Z11zSRb2g