WIPIVERSE

머프 해럴드

MCP는 Model Context Protocol의 약자로, Anthropic이 2024년 11월에 발표한 오픈 표준 프로토콜이다. LLM(대규모 언어 모델) 애플리케이션이 외부 데이터 소스, 도구, 서비스와 연결되는 방식을 표준화하기 위해 설계되었다.


개요

MCP는 마치 USB-C 포트가 다양한 주변기기를 표준화된 방식으로 연결하듯, AI 모델과 외부 데이터/도구 간의 연결을 표준화하는 것을 목표로 한다. Microsoft의 LSP(Language Server Protocol)에서 영감을 받았다.

2025년 12월, Anthropic은 MCP를 Agentic AI Foundation(AAIF)에 기부했으며, 이는 Linux Foundation 산하의 기금으로 Anthropic, Block, OpenAI가 공동 창립했다.


아키텍처

MCP는 클라이언트-서버 아키텍처를 따르며 세 가지 주요 참여자로 구성된다:

구성 요소 설명
MCP Host AI 애플리케이션 (예: Claude Desktop, VS Code, IDE) - 여러 MCP 클라이언트를 생성하고 관리
MCP Client Host 내에서 각 MCP 서버와 1:1 연결을 유지하는 커넥터
MCP Server 외부 서비스의 기능을 MCP 프리미티브로 노출하는 독립 프로세스

각 서버는 독립 프로세스로 실행되며, 서로의 데이터에 접근할 수 없도록 격리된다.


핵심 프리미티브

MCP 서버는 세 가지 유형의 기능을 제공한다:

프리미티브 제어 주체 설명 예시
Tools AI 모델 실행 가능한 함수 - 모델이 필요에 따라 호출 파일 쓰기, API 호출, DB 쿼리
Resources 애플리케이션 읽기 전용 데이터 제공 파일 내용, DB 스키마, 문서
Prompts 사용자 재사용 가능한 템플릿 슬래시 커맨드, 워크플로우 템플릿

전송 계층

MCP는 JSON-RPC 2.0 메시지 형식을 사용하며, 두 가지 전송 방식을 지원한다:

  1. Stdio 전송: 로컬 프로세스 간 통신 (stdin/stdout) - 지연이 낮고 설정이 간단
  2. Streamable HTTP 전송: 원격 서버 통신 (HTTP POST + SSE) - 클라우드 배포에 적합

연결 수명주기

  1. 초기화(Initialization): 프로토콜 버전과 지원 기능(capability) 협상
  2. 작업(Operation): 도구/리소스 탐색 및 실행
  3. 종료(Shutdown): 연결 종료

주요 특징

  • 표준화된 인터페이스: M×N 통합 문제를 M+N으로 해결 (한 번 구현으로 모든 호스트에서 사용)
  • 동적 도구 검색: tools/list로 서버의 도구를 동적으로 탐색
  • 실시간 알림: 서버 변경사항을 클라이언트에 푸시
  • 보안: 서버 간 격리, 사용자 승인, 데이터 최소화 원칙

채택 현황

  • OpenAI (2025년 3월): MCP 공식 채택, ChatGPT 데스크톱 앱에 통합
  • Google DeepMind (2025년 4월): MCP 채택 발표
  • 주요 IDE: VS Code, Cursor, Windsurf, Replit 등에서 지원
  • SDK: Python, TypeScript, Java, Kotlin, C#, Go, Kotlin 등 다양한 언어 지원

한계 및 과제

  • 서드파티 MCP 서버의 품질 편차
  • 서버 간 상태 공유 미지원
  • 표준화된 관찰성(observability) 메커니즘 부재
  • 보안 감사 도구 부족 (프롬프트 인젝션, 악성 도구 등 위험 존재)
둘러보기

더 찾아볼 만한 주제

    전체 문서 보기