MCP (Model Context Protocol)
정의
Model Context Protocol은 서로 다른 AI 모델, 도구, 에이전트가 공통된 문맥(Context)을 공유하며 협력적 작업을 할 수 있게 만들어주는 표준화된 통신 프레임워크입니다.
“여러 LLM과 도구들이 하나의 대화방, 하나의 머리처럼 같이 생각하고 행동할 수 있게 해주는 시스템 구조"
MCP 등장 전 vs. 후 비교
| 항목 | MCP 등장 이전 | MCP 등장 이후 |
|---|
| 연결성 | LLM + Tool = 단일 모델 중심 | 여러 모델/에이전트 간 정보 공유 및 협업 가능 |
| 문맥 공유 | 각 모델이 자신의 문맥만 사용 (컨텍스트 단절) | 모든 모델이 공통된 문맥(Context)을 공유 |
| 작업 흐름 | 1단계 응답 후 종료 (단절된 호출) | 다단계, 연속적 작업 진행 가능 |
| 멀티 모델 협업 | 불가능하거나 수동 통합 | 다양한 역할의 LLM이 동시에 협력 가능 |
| 복잡한 과제 처리 | 사람의 개입 필요 많음 | 자율적 문제 해결 구조 가능 |
| 시스템 구성 | 모델 1개 + 플러그인 형태 | 다중 LLM + 에이전트 + 도구 통합 시스템 구축 가능 |
MCP가 없으면?

AI 앱을 다른 시스템 및 데이터 소스에 연결해야 할 때 모든 사람이 자체적으로 구현해야 하므로 AI 개발이 파편화됨
MCP를 사용하면?

매번 새로 구현할 필요 없이 AI 앱이 다른 시스템에 연결하는 데 사용하는 표준 인터페이스를 확보할 수 있음
MCP 아키텍처
“MCP는 Client - Server 아키텍처를 따른다.”
- 호스트: 연결을 시작하는 LLM Application (예: Claude Desktop)
- 클라이언트: 호스트 애플리케이션 내부에서 서버와 1:1 연결 유지
- 서버: 클라이언트에게 컨텍스트, 도구 및 프롬프트 제공
MCP 작동 방식 (Lifecycle)
1. 초기화
2. 메시지 교환
3. 종료
리소스 (Resources)
서버의 데이터, 컨텐츠를 LLM이 접근할 수 있도록 연결하거나 제공
- 파일, DB, API 응답, 이미지, 로그 등 모두 가능
- URI로 식별되며 텍스트(UTF-8) 또는 바이너리(base64) 형식
리소스 형태
{
"uri": "string",
"name": "string",
"description": "optional",
"mimeType": "optional"
}
리소스 탐색 방식
- 직접 리소스: 고정된 리소스를 명시적으로 제공
- 리소스 템플릿: 동적 리소스 생성을 위한 형식 제공
실시간 업데이트
notifications/resources/list_changed 알림으로 가능
- 구독을 통한 특정 리소스 업데이트 추적 가능
Claude Desktop & Smithery
Claude Desktop
- Anthropic의 데스크톱 애플리케이션
- MCP를 통해 로컬 시스템과 상호 작용 가능
Smithery
- 다양한 외부 데이터/툴과 LLM 연결을 위한 확장 플랫폼
- 언어 모델 확장(Language Model Extensions) 플랫폼
주요 기능
- MCP 서버 검색/관리
- MCP 서버 호스팅/배포
- 표준화된 인터페이스 제공
Claude Desktop ↔ Desktop Commander 연결


- 느낀 한계점
- 속도 느림
- 경로 설정 정확히 해야 작동
- 한글 파일명 인식 어려움
- 로컬 접근 구조로 인한 개인정보 유출 가능성
📈 MCP의 긍정적 측면
- 다양한 LLM/도구 간 표준 통합 구조
- 재사용 가능한 도구 생태계 구축 가능
📉 MCP의 부정적 측면
- UI가 채팅 중심으로 단일화될 수 있음
- AI 회사가 유저의 사용 방식, 데이터를 더 많이 소유하게 될 가능성