WIPIVERSE

라반 (성경 인물)

MCP(Model Context Protocol)는 AI 애플리케이션(특히 LLM 기반 앱)이 외부 데이터 소스와 도구에 표준화된 방식으로 연결될 수 있게 해주는 오픈 프로토콜입니다.


🎯 핵심 개념

MCP는 마치 AI 애플리케이션을 위한 USB-C 포트와 같습니다. USB-C가 다양한 주변기기를 표준화된 방식으로 연결하듯, MCP는 AI 모델을 다양한 데이터 소스와 도구에 표준화된 방식으로 연결합니다.

왜 필요한가?

  • LLM은 기본적으로 정적인 지식(학습 시점 기준)만 가지고 있음
  • 실시간 데이터, 파일, DB, API 등 외부 시스템과 연결하려면 매번 커스텀 코드가 필요
  • MCP는 이 "M×N 통합 문제"(M개의 앱 × N개의 도구)를 "M+N"으로 단순화

🏗️ 아키텍처

MCP는 클라이언트-서버 아키텍처를 따릅니다:

┌─────────────────────────────────┐
│  MCP Host (AI 애플리케이션)       │
│  ┌─────────┐  ┌─────────┐       │
│  │ Client 1│  │ Client 2│  ...  │
│  └────┬────┘  └────┬────┘       │
└───────┼────────────┼────────────┘
        │            │
   ┌────▼───┐   ┌───▼────┐
   │ Server │   │ Server │  ...
   │  A     │   │  B     │
   └────────┘   └────────┘

3가지 주요 참여자:

  1. Host (호스트) - Claude Desktop, VS Code, IDE 등 AI 애플리케이션
  2. Client (클라이언트) - 호스트 내에서 각 서버와 1:1 연결을 유지하는 컴포넌트
  3. Server (서버) - 특정 기능(파일시스템, DB, API 등)을 노출하는 프로그램

📦 3가지 핵심 프리미티브 (Primitives)

MCP 서버는 다음 세 가지 기능을 제공할 수 있습니다:

프리미티브 설명 비유
Tools (도구) LLM이 실행할 수 있는 함수 (파일 쓰기, API 호출, DB 쿼리 등) POST/PUT 엔드포인트
Resources (리소스) LLM이 읽을 수 있는 데이터 (파일 내용, DB 스키마, 문서 등) GET 엔드포인트
Prompts (프롬프트) 재사용 가능한 템플릿 (워크플로우 가이드) 워크플로우 레시피

🔌 통신 방식

  • JSON-RPC 2.0 기반 메시지 형식 사용
  • Stdio transport: 로컬 프로세스 간 통신 (표준 입출력)
  • Streamable HTTP transport: 원격 서버 통신 (HTTP POST + SSE)

💡 실제 예시

Python SDK로 만든 간단한 MCP 서버 (15줄):

from mcp.server import MCPServer

mcp = MCPServer("Demo")

@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers."""
    return a + b

@mcp.resource("greeting://{name}")
def greeting(name: str) -> str:
    """Greet someone by name."""
    return f"Hello, {name}!"

🔐 보안 원칙

  1. 사용자 동의 및 통제 - 모든 데이터 접근과 도구 실행은 사용자 승인 필요
  2. 데이터 프라이버시 - 사용자 데이터는 명시적 동의 없이 외부로 전송 금지
  3. 도구 안전성 - 도구 호출은 임의 코드 실행이므로 주의 필요
  4. LLM 샘플링 통제 - LLM 샘플링 요청은 사용자 승인 필요

🌐 생태계

  • 공식 SDK: Python SDK, TypeScript SDK
  • 지원 클라이언트: Claude Desktop, VS Code, Cursor 등 다양한 AI 도구
  • 참고: modelcontextprotocol.io - 공식 문서
  • Hugging Face MCP 코스도 무료로 제공 중

MCP는 Anthropic이 주도하여 개발 중인 오픈 프로토콜로, AI 애플리케이션과 외부 세계를 연결하는 표준 인터페이스를 제공합니다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기