1. MCP란?¶
LLM의 한계 — "세상과 단절된 AI"¶
LLM은 학습된 지식 안에서만 답변할 수 있습니다. 실시간 데이터 조회, 외부 시스템 제어, 사내 도구 연동은 별도 통합 작업 없이는 불가능합니다.
이 문제를 해결하기 위해 다양한 접근법이 등장했습니다.
기존 접근법과 한계¶
Function Calling / Tool Use¶
LLM이 함수를 호출할 수 있게 하는 방식입니다.
한계
- 각 LLM 제공사마다 구현 방식이 다름 (OpenAI, Anthropic, Google 등)
- 도구를 추가할 때마다 애플리케이션 코드를 수정해야 함
- N개의 LLM × M개의 도구 = N×M개의 통합 코드 필요
RAG (Retrieval-Augmented Generation)¶
외부 문서를 검색해서 컨텍스트로 제공하는 방식입니다.
한계
- 읽기 전용 — 데이터를 조회할 수 있지만, 쓰기/실행은 불가
- 검색 품질에 결과가 크게 좌우됨
MCP의 등장¶
MCP(Model Context Protocol)는 Anthropic이 2024년 11월에 발표한 오픈 프로토콜입니다.
LLM이 외부 도구와 데이터에 접근하기 위한 표준 인터페이스
USB가 다양한 기기를 하나의 포트로 연결하듯, MCP는 다양한 도구를 하나의 프로토콜로 LLM에 연결합니다.
┌─────────────────────────────────────────────────┐
│ 기존 방식 (N×M 문제) │
│ │
│ Claude ──┬── Slack 전용 코드 │
│ ├── DB 전용 코드 │
│ └── Jira 전용 코드 │
│ │
│ GPT ────┬── Slack 전용 코드 (또 다른 구현) │
│ ├── DB 전용 코드 (또 다른 구현) │
│ └── Jira 전용 코드 (또 다른 구현) │
└─────────────────────────────────────────────────┘
↓ MCP 도입 후 ↓
┌─────────────────────────────────────────────────┐
│ MCP 방식 (N+M) │
│ │
│ Claude ──┐ │
│ ├── MCP ──┬── Slack MCP 서버 │
│ GPT ────┘ ├── DB MCP 서버 │
│ └── Jira MCP 서버 │
└─────────────────────────────────────────────────┘
핵심 특징¶
| 특징 | 설명 |
|---|---|
| 표준화 | 어떤 LLM이든 같은 방식으로 도구를 연결 |
| 양방향 | 읽기뿐 아니라 쓰기, 실행도 가능 |
| 오픈 프로토콜 | 특정 벤더에 종속되지 않음 |
| 보안 | 서버가 직접 데이터에 접근 — LLM에 자격증명 노출 불필요 |
| 재사용 | 한 번 만든 MCP 서버를 여러 클라이언트에서 사용 |
비유로 이해하기¶
| 비유 | MCP에서의 역할 |
|---|---|
| USB 규격 | MCP 프로토콜 |
| USB 포트 (컴퓨터 쪽) | MCP 클라이언트 (LLM 앱) |
| USB 기기 (마우스, 키보드 등) | MCP 서버 (도구) |
| USB 드라이버 | SDK (Python, TypeScript) |
정리¶
다음 챕터
MCP의 아키텍처와 핵심 개념(Tools, Resources, Prompts)을 자세히 알아봅니다.