Model Context Protocol 설명: AI 도구 통합을 위한 개방형 표준
Model Context Protocol(MCP) 이해하기
Model Context Protocol(MCP)은 AI 애플리케이션을 운영에 필요한 외부 도구, 데이터, 프롬프트에 연결하기 위한 통합 프레임워크를 만들기 위해 설계된 개방형 표준입니다. 이는 AI 모델이 서버와 직접 통신하지 않고도 서버에 작업을 요청할 수 있도록 하는 통신 구조(메서드, 기능 협상, 전송, 인증 포함)를 정의합니다.
핵심 아키텍처 및 구성 요소
MCP는 세 가지 주요 구성 요소를 통해 작동합니다.
- 호스트 AI 앱: 사용자가 상호 작용하는 애플리케이션(예: Claude, Cursor, ChatGPT)입니다. 이 앱은 사용자, AI 모델, 외부 서비스 간의 통신 흐름을 관리하는 중개자 역할을 합니다.
- AI 모델: 외부 도구를 언제, 어떻게 사용할지 결정하는 대규모 언어 모델(LLM)입니다. 모델은 서버가 아닌 AI 앱과만 상호 작용합니다.
- 서버: 특정 도구, 데이터 또는 프롬프트를 노출하는 소규모 전용 프로그램입니다. 서버는 AI 앱이 보낸 호출에 응답합니다.
MCP는 통신 봉투로 JSON-RPC를 사용하지만, 콘텐츠와 협상 프로세스를 표준화하여 단순한 요청/응답 상호 작용 이상의 기능을 서버가 통신할 수 있게 한다는 점에서 차별화됩니다.
MCP 메시지 흐름
MCP는 외부 데이터나 작업이 필요한 작업을 AI 모델이 실행할 수 있도록 구조화된 다단계 통신 흐름을 활용합니다. 이 프로세스는 초기 발견 단계와 상세 실행 시퀀스를 포함합니다.
1단계: 도구 발견(기능 협상)
작업을 수행하기 전에 AI 애플리케이션은 사용 가능한 도구를 이해해야 합니다. AI 앱은 MCP 서버에 기능 목록을 쿼리하여 프로세스를 시작합니다.
- 작업: AI 앱은 MCP 서버에
tools/list요청을 보냅니다. - 응답: MCP 서버는 사용 가능한 도구 목록(예:
create_issue)을 반환합니다. - 컨텍스트 업데이트: AI 앱은 이 도구 정의를 AI 모델이 사용할 수 있는 컨텍스트에 추가합니다.
2단계: 도구 실행 주기
사용자가 메시지를 제공하고 AI 모델이 도구가 필요하다고 판단하면 다음 시퀀스가 발생합니다.
- 모델 요청: AI 모델이 특정 도구를 사용하기로 결정하고 AI 앱에
tool_use요청을 보냅니다. - 서버 호출: AI 앱은 도구 이름과 매개변수를 포함한
tools/call요청을 MCP 서버에 보냅니다. - 서버 응답: MCP 서버는 도구를 실행하고 AI 앱에
result를 반환합니다. - 모델 피드백: AI 앱은 이 결과를
tool_result메시지를 사용하여 AI 모델에 전달합니다. - 최종 출력: AI 모델은 이 결과를 사용하여 사용자를 위한 최종 사람이 읽을 수 있는 응답을 생성합니다.
기술적 비판 및 커뮤니티 피드백
MCP에 대한 커뮤니티 논의는 구현 및 필요성에 대한 몇 가지 주요 기술적, 철학적 논쟁을 강조합니다.
설계 및 복잡성
여러 기술 기여자들은 MCP의 초기 프레젠테이션이 지나치게 밀도가 높을 수 있다고 지적하며, 더 명확한 문서, 다이어그램 또는 실행 가능한 코드 예제가 비전문가 사용자의 접근성을 크게 향상시킬 수 있다고 제안했습니다.
Sources
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch