Anthropic이 만든 Model Context Protocol(MCP), 개발자 도구의 새 시대를 열다
AI 애플리케이션, 연결은 더 쉬워야 하지 않을까요?
AI 애플리케이션을 개발하다 보면 이런 생각이 들 때가 있습니다.
"왜 이렇게 외부 기능과 연결하는 게 복잡하지?"
"각기 다른 모델, 다른 툴, 다른 방식… 이걸 다 일일이 연결하라고?"
Anthropic의 엔지니어 저스틴 스파-서머스와 데이빗 소리아 파라는 이런 문제에 정면으로 도전했습니다. 그 결과물이 바로 **MCP(Model Context Protocol)**입니다.
MCP는 AI 모델과 애플리케이션, 그리고 다양한 외부 도구를 쉽게 연결할 수 있도록 설계된 오픈 프로토콜입니다. 흔히 AI 생태계를 위한 USB-C라고도 불리죠.
이 글에서는 MCP가 무엇인지, 왜 만들어졌는지, 어떤 문제를 해결하며, 개발자들에게 어떤 가치를 줄 수 있는지를 상세히 살펴보겠습니다.
MCP란 무엇인가?
AI 애플리케이션을 위한 새로운 연결 방식
MCP는 AI 모델이 외부 데이터 소스 및 도구와 쉽게 상호작용할 수 있도록 설계된 표준화된 프로토콜입니다.
복잡한 API 명세 없이도, 모델이 어떤 도구를 사용할 수 있고 어떤 리소스를 활용할 수 있는지를 명확하게 정의할 수 있습니다.
Anthropic의 엔지니어인 데이빗과 저스틴은 이 프로토콜을 2024년 여름부터 개발해, 그 해 11월에 공식 발표했습니다. MCP는 단순한 개발 도구 그 이상이며, AI 애플리케이션의 확장성과 유지보수성을 획기적으로 향상시킬 수 있습니다.
개발 배경: 개발자의 좌절에서 시작된 혁신
MCP의 시작은 **"개발자의 좌절"**이었습니다.
데이빗은 기존의 개발자 도구들이 강력하긴 했지만, 확장성과 상호운용성에서 많은 제약이 있다는 것을 느꼈습니다. 특히 Cloud Desktop에서는 파일 시스템은 사용할 수 있지만, 백엔드 연동이나 컨텍스트 기반의 아티팩트 기능이 부족했습니다.
이러한 한계를 해결하기 위해 그는 AI 애플리케이션이 다양한 기능을 플러그인처럼 쉽게 연결할 수 있는 구조를 고민하게 되었고, 그 결과가 바로 MCP였습니다.
LSP에서 배운 교훈: 간결함과 양방향성
MCP는 기존의 Language Server Protocol(LSP)에서 많은 영감을 받았습니다. LSP는 다양한 IDE와 프로그래밍 언어 간의 복잡한 연결 문제(M*N 문제)를 해결한 성공적인 오픈 프로토콜입니다.
MCP는 이 원리를 AI 애플리케이션에 적용했습니다.
→ JSON-RPC 기반의 양방향 통신
→ 표현 중심 설계
→ 도구, 리소스, 프롬프트로 구성된 핵심 구성요소
이러한 구조는 확장성과 일관성을 동시에 확보할 수 있게 합니다.
MCP의 핵심 구성 요소
1. 도구(Tools)
- 모델이 직접 호출할 수 있는 함수나 API입니다.
- 예: 검색 기능, 계산기, 외부 API 호출 등
2. 리소스(Resources)
- 모델이 참고할 수 있는 정적인 데이터입니다.
- 예: 사용자 매뉴얼, 오류 백트레이스, 문서
3. 프롬프트(Prompts)
- 모델의 응답을 시작하거나 유도하는 텍스트입니다.
- 예: “이 상황에 맞는 대응 방식을 요약해줘”
이 세 가지는 모두 컨텍스트 창에 포함되어, 모델이 적절한 타이밍에 활용할 수 있도록 합니다.
도구 vs 리소스: 언제 무엇을 써야 할까?
이 질문에 대해 저스틴은 간결하게 정리합니다.
항목 주체 사용 목적
항목 | 주체 | 사용 목 |
도구 | 모델이 시작 | 기능 호출 |
리소스 | 사용자 또는 모델 | 정보 참조 |
예를 들어, Sentry의 오류 트레이스를 컨텍스트에 넣는다면 이는 리소스입니다. 반면, 계산기를 호출해 숫자를 계산하는 건 도구입니다.
OpenAPI와의 차이점
많은 분들이 묻습니다. “MCP는 OpenAPI와 뭐가 달라요?”
→ OpenAPI는 명세 중심입니다.
→ MCP는 AI 친화적인 상호작용 중심입니다.
OpenAPI는 API 문서화를 잘하지만, AI 모델이 실제로 어떻게 상호작용해야 하는지에 대한 맥락은 부족합니다. 반면 MCP는 모델이 스스로 판단하고 필요한 작업을 수행할 수 있도록 설계돼 있습니다.
MCP 서버, 직접 만들어보자
MCP의 가장 큰 장점 중 하나는 누구나 쉽게 서버를 구축할 수 있다는 점입니다.
데이빗은 말합니다. “30분이면 됩니다.”
MCP 서버 구축 5단계:
- 좋아하는 언어의 SDK 선택 (Python, C, Kotlin 등)
- 간단한 도구 정의 (예: calculate_sum)
- 리소스 예시 정의 (예: JSON 문서, 텍스트)
- 프롬프트 구성
- 표준 I/O 기반으로 연결
LLM의 컨텍스트 창에 SDK 코드를 넣고 “이걸로 MCP 서버 만들어줘”라고 요청하면, 기본적인 코드도 자동으로 생성해 줍니다.
에이전트 개발과 MCP의 미래
MCP는 단지 모델과 애플리케이션을 연결하는 걸 넘어서 에이전트 구축까지 확장될 수 있습니다.
- 양방향성: MCP 서버가 클라이언트에게도 요청 가능
- 재귀성: MCP 서버가 또 다른 MCP 서버를 호출 가능
이런 구조는 복잡한 AI 시스템을 모듈화하고 조합 가능하게 만드는 핵심 토대가 됩니다.
확장성은 어떻게?
MCP 서버를 얼마나 많이 연결할 수 있을까요?
저스틴은 이렇게 답합니다.
“모델에 따라 다릅니다. 하지만 Claude는 수백 개의 MCP 서버도 문제없이 소화할 수 있습니다.”
즉, 도구가 잘 정리돼 있고, 명확하게 설명돼 있다면 수많은 서버와의 연결도 가능합니다.
필요하다면 작은 LLM을 필터 역할로 쓰는 것도 고려해볼 수 있습니다.
MCP의 미래: 오픈 커뮤니티로 나아가다
Anthropic은 MCP를 자사 독점 기술로 만들지 않겠다고 선언했습니다.
실제로도 이미 다양한 기업들이 MCP 개발에 참여하고 있습니다.
- Microsoft: C SDK 개발
- JetBrains: Kotlin SDK 개발
- Spring AI: Java SDK 개발
- Pyantic: Python SDK 커밋 권한 보유
MCP는 **"모두가 함께 만드는 AI 표준"**을 목표로 하고 있으며, 이 철학이 앞으로의 기술 발전을 더욱 가속화할 것입니다.
MCP가 가져올 변화
MCP는 단순한 프로토콜이 아닙니다.
AI 애플리케이션 개발의 방식 자체를 바꾸는 기술입니다.
개발자에게는 더 간단한 연결 방식,
AI 모델에는 더 풍부한 컨텍스트,
비즈니스에는 더 빠른 확장성과 실험이 가능해졌습니다.
지금까지의 복잡한 API 연결, 명세 작성, 반복적인 통합 작업…
그 모든 피로를 덜어줄 도구가 바로 MCP입니다.
AI 생태계의 USB-C, 이제 당신의 프로젝트에 연결해보세요.