MCP를 비판적으로 살펴보기
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
LLM(대형 언어 모델)과 외부 시스템 연동을 개발하는 소프트웨어 엔지니어, DevOps 엔지니어
핵심 요약
- MCP(Model Context Protocol) 의 주요 문제점은 설계 혼란, 문서 부족, 복잡한 전송 방식(HTTP+SSE)에 따른 보안 및 유지보수 난이도 증가
- WebSocket 사용이 사용자 경험 개선 및 상태 관리 단순화에 더 적합하다는 제안
- LLM 생성 문서의 부족한 명확성과 사양 설계의 인간적 고심 부재가 MCP의 기술적 성숙도 저하에 기여
섹션별 세부 요약
- MCP의 현재 상태 및 문제점
- MCP는 LLM과 외부 시스템 연동을 표준화하는 프로토콜로, IBM ACP, Google A2A 등과 유사한 목적을 가짐
- 설계상 비일관성, 문서 미흡, 예제 부족으로 인해 실제 구현 난이도 증가
- LLM 벤더의 문서 생성 방식이 혼란스러운 사양으로 이어짐 (예: DeepSeek의 문법 오류, Anthropic의 사양 부족)
- 전송 방식의 복잡성 및 보안 문제
- HTTP+SSE, Streamable HTTP 등의 전송 방식은 복잡성 증가와 보안 취약성(세션 하이재킹, DoS) 발생
- WebSocket 사용을 통해 상태 관리 간소화 및 실시간 통신 효율성 향상 제안
- Stdio 기반의 간결한 환경 구성은 OS별 이슈 최소화 가능
- 인증 및 세션 관리 문제
- OAuth2 강제 및 환경변수 기반 인증의 비일관성으로 인한 구현 복잡성 증가
- 세션 생성-종료, SSE 오픈-응답 전달 과정의 다양한 방식 혼용으로 호환성 및 예측 불가능성 발생
- MCP 생태계 및 커뮤니티 반응
- ninja.ai 등 MCP 서버 구현 사례와 glama.ai/mcp/servers 레지스트리의 빠른 성장
- LLM 생성 사양의 한계를 지적하며, 전문 소프트웨어 엔지니어의 참여 부족이 문제로 대두
- OpenAPI 대비 MCP의 장점은 LLM 부담 감소 및 추상화로 인한 연동 용이성
- 미래 방향 및 개선 제안
- Transport 계층 단순화 (WebSocket 중심으로) 및 사양 설계의 인간적 고심 강화 필요
- LLM 생성 문서의 명확성 확보 및 사양 기반의 명확한 인증/세션 관리 제안
- 표준 난립 방지를 위한 산업 내 협업 강화 및 MCP의 지속적 개선 요구
결론
MCP는 LLM과 외부 시스템 연동에 중요한 표준이지만, 설계 단순화, 문서 명확성, WebSocket 중심의 전송 방식 전환이 필수적임. LLM 생성 사양의 한계를 극복하고 커뮤니티 기반의 기술 검증을 통해 성숙한 프로토콜로 진화해야 함.