업데이트: 2026년 8월 31일. MCP를 “AI 도구의 USB 포트”에 비유할 수는 있지만, 실제로는 AI 애플리케이션이 도구·데이터·작업 흐름과 통신하는 공개 프로토콜입니다.
MCP의 세 구성요소
- 호스트: Claude Code, Codex, Copilot CLI처럼 사용자가 대화하는 애플리케이션
- 클라이언트: 호스트 안에서 MCP 서버와 통신하는 구성요소
- 서버: 파일, 데이터베이스, 브라우저, SaaS 같은 기능을 도구·리소스·프롬프트로 노출하는 프로그램
2026-07-28 사양의 핵심
최신 사양은 프로토콜 코어를 세션 없는 요청·응답 구조로 바꾸고, 추가 사용자 입력이 필요한 작업을 위한 MRTR, 헤더 기반 라우팅, 목록 응답 캐시, 인증 강화, 정식 확장 프레임워크를 도입했습니다. Tasks는 확장으로 이동했고, 이전 HTTP+SSE 전송과 일부 기능에는 최소 12개월의 폐기 유예가 적용됩니다.
보안에서 꼭 볼 것
- 파일시스템 서버에는 필요한 디렉터리만 허용합니다.
- 삭제·결제·배포 도구는 사람의 승인을 거치게 합니다.
- 원격 서버의 발급자와 리디렉션 URI를 검증합니다.
- 서버가 반환한 텍스트를 신뢰할 수 없는 입력으로 취급합니다.
- 서버와 SDK 버전을 고정하고 마이그레이션 테스트를 둡니다.
공식 자료
2026-09-03 재검증: 최신 사양을 바로 켜기 전에 볼 것
검증일: 2026-09-03 KST. MCP 공식 블로그는 2026-07-28 사양의 핵심을 세션 없는 프로토콜 코어, MRTR, 헤더 기반 라우팅, 캐시 가능한 목록, 인증 강화와 확장 프레임워크로 설명합니다. 다만 사양이 발표됐다는 사실과 현재 사용하는 클라이언트가 그 사양을 이미 전송한다는 것은 다릅니다. TypeScript SDK의 공식 마이그레이션 문서는 기존 방식으로 만든 Client·Server·McpServer가 새 프로토콜을 자동 사용하지 않으며 2026-07-28 지원을 명시적으로 선택해야 한다고 안내합니다.
따라서 서버만 먼저 올리기보다 클라이언트와 서버가 협상하는 프로토콜 버전, 사용 중인 SDK의 지원 표, HTTP 게이트웨이의 새 헤더 전달 여부를 한 세트로 확인해야 합니다. 구버전과 함께 운영해야 한다면 대표 도구 호출, 목록 조회, 인증 실패와 재시도 동작을 양쪽 버전으로 회귀 테스트하세요. 세션 ID에 의존하던 로직이나 HTTP+SSE 전송은 마이그레이션 노트를 읽고 단계적으로 제거해야 합니다.
운영 전 최소 점검표
- 클라이언트와 서버가 실제로 협상한 프로토콜 버전을 로그에 남깁니다.
Mcp-Method·Mcp-Name헤더를 프록시가 보존하는지 확인합니다.- 발급자·리디렉션 URI·권한 범위를 검증하고 삭제·배포 도구에는 사람 승인을 둡니다.
- 서버 응답과 도구 설명은 신뢰할 수 없는 입력으로 취급하고 비밀값을 모델 문맥에 넣지 않습니다.