격차 해소: 모델 컨텍스트 프로토콜(MCP) 심층 탐구
Source: Dev.to
MCP란 무엇인가?
MCP는 모델과 “외부 세계” 사이의 통합된 다리를 제공하여 AI에 단순한 채팅 인터페이스를 넘어서는 “초능력”을 부여합니다. 모델이 정보에 접근하고 작업을 실행하는 방식을 표준화함으로써, MCP는 AI 도구를 보다 통합되고, 능력 있게 만들며, 구축을 용이하게 합니다.
아키텍처 개요
MCP는 클라이언트‑서버 모델을 따릅니다:
- MCP Host – 외부 리소스를 사용하려는 애플리케이션(예: VS Code, Claude Desktop)입니다.
- MCP Server – 데이터나 기능을 제공하는 로컬 또는 원격 프로그램입니다.
- MCP Client – 호스트 내에서 각 특정 서버에 대한 전용 연결입니다.
호스트가 서버에 연결하면 해당 연결을 위해 MCP 클라이언트 객체를 인스턴스화합니다. 여러 클라이언트 객체가 동시에 존재할 수 있습니다(예: Jira 서버용 하나, 로컬 파일 시스템용 또 하나).
프로토콜 계층
데이터 계층
무엇을 말하는지 정의합니다. JSON‑RPC 기반으로, 연결 수명 주기와 핵심 원시 요소(도구, 리소스, 프롬프트)를 처리합니다.
전송 계층
메시지가 어떻게 전달되는지를 정의합니다.
| Transport | Use‑case | Characteristics |
|---|---|---|
| Stdio Transport | 동일 머신의 로컬 프로세스 (예: VS Code ↔ 로컬 파일) | 번개처럼 빠르고 네트워크 오버헤드 없음 |
| Streamable HTTP Transport | 원격 서버 (예: 공식 Jira MCP 서버) | HTTP POST + Server‑Sent Events (SSE) 사용; 보안 인증(OAuth) 지원 |
Source:
핵심 프리미티브
호스트가 서버에 연결되면 AI는 세 가지 주요 프리미티브와 상호작용할 수 있습니다:
도구 (실행 가능한 함수)
AI는 행동을 수행할 수 있습니다.
{
"method": "create_issue",
"params": {
"title": "Bug in login flow",
"description": "Steps to reproduce..."
}
}
예시: create_issue는 Jira 티켓을 생성하고, add_comment는 작업에 댓글을 추가합니다.
리소스 (데이터 소스)
AI가 필요로 하는 컨텍스트를 제공합니다.
예시: 프로젝트 스키마는 AI가 “Priority Highest” → “Blocker”를 매핑하도록 돕고, 사용자 프로필은 이름을 ID와 연결합니다.
프롬프트 (템플릿)
상호작용을 구조화하는 재사용 가능한 지시문입니다.
예시: 버그 리포터 프롬프트는 AI가 티켓을 만들기 전에 “재현 단계”를 물어보도록 강제합니다.
서버‑클라이언트 상호작용
MCP는 일방통행이 아닙니다. 서버는 클라이언트에게 도움을 요청할 수 있습니다:
| 상호작용 | 설명 |
|---|---|
| 샘플링 | 서버가 AI 호스트에게 작업을 수행하도록 요청합니다 (예: 10개의 티켓을 요약하여 릴리즈 노트 단락으로 만들기). |
| 유도 | 서버가 누락된 정보를 사용자에게 요청합니다 (예: “이 티켓은 어떤 프로젝트에 넣어야 하나요?”). |
| 로깅 | 서버가 모니터링을 위해 디버그 메시지를 클라이언트에 전송합니다. |
알림 시스템
동적인 환경에서는 도구와 데이터 소스가 끊임없이 변합니다. MCP는 알림 시스템을 통해 이를 처리합니다. 이 시스템은 JSON‑RPC 2.0을 기반으로 하며, 서버가 클라이언트에게 요청을 기다리지 않고도 업데이트를 푸시할 수 있게 합니다.
JSON‑RPC (JavaScript Object Notation‑Remote Procedure Call)은 원격 프로시저 호출을 위한 JSON 기반 와이어 프로토콜입니다. 응답이 필요 없는 알림(데이터 전송)과 비동기 다중 호출을 지원합니다.
JSON‑RPC 사양에 대한 자세한 내용은 click here에서 확인하세요.
클라이언트는 단순히 변화에 대한 통지를 기다리기만 하면 됩니다—예를 들어 데이터베이스가 오프라인이 되거나 새로운 도구가 사용 가능해지면, AI가 즉시 이를 학습합니다.
MCP가 중요한 이유
LLM이 점점 더 강력해짐에 따라, 그 유용성은 점점 더 컨텍스트에 의존하게 됩니다. MCP는 모델이 그 컨텍스트를 얻는 방식을 표준화하여 개발을 단순화하고 보다 풍부하고 강력한 AI 애플리케이션을 가능하게 합니다.
시작하기
점점 더 많은 기업들이 매일 공식 MCP 서버를 출시하고 있습니다. **Anthropic MCP Gallery**에서 가장 인기 있는 서버를 살펴보세요.