Introduction - Model Context Protocol
Introduction - Model Context Protocol
Understand how MCP connects clients, servers, and LLMs
modelcontextprotocol.io
모델 컨텍스트 프로토콜(Model Context Protocol, MCP)은 AI 애플리케이션이 대형 언어 모델(LLM)과 다양한 데이터 소스 및 도구를 표준화된 방식으로 연결할 수 있도록 설계된 개방형 프로토콜입니다. 이는 마치 USB-C 포트가 다양한 주변 기기와 액세서리를 표준화된 방식으로 연결하는 것과 유사합니다.
MCP의 주요 특징은 다음과 같습니다:
- 표준화된 통합: MCP는 다양한 데이터 소스와 도구에 대한 사전 구축된 통합을 제공하여, LLM이 직접적으로 이를 활용할 수 있게 합니다.
- 유연한 LLM 제공자 전환: MCP를 통해 개발자는 LLM 제공자나 벤더를 유연하게 전환할 수 있습니다.
- 데이터 보안: MCP는 인프라 내에서 데이터를 안전하게 보호하기 위한 모범 사례를 제공합니다.
MCP의 일반적인 아키텍처는 다음과 같이 구성됩니다:
- MCP 호스트: Claude Desktop, IDE, AI 도구 등 MCP를 통해 데이터에 접근하려는 프로그램입니다. theverge.com
- MCP 클라이언트: 서버와 1:1 연결을 유지하는 프로토콜 클라이언트입니다.
- MCP 서버: 표준화된 MCP를 통해 특정 기능을 노출하는 경량 프로그램입니다.
- 로컬 데이터 소스: 컴퓨터의 파일, 데이터베이스, 서비스 등 MCP 서버가 안전하게 접근할 수 있는 로컬 데이터 소스입니다.
- 원격 서비스: 인터넷을 통해 접근 가능한 외부 시스템(API 등)으로, MCP 서버가 연결할 수 있습니다.
MCP는 2024년 11월에 Anthropic에 의해 도입되었으며, Replit, Codeium, Souregraph와 같은 기업들이 이미 MCP를 활용하여 AI 에이전트를 구축하고 있습니다.
Core architecture - Model Context Protocol
MCP의 핵심 구성 요소:
- 프로토콜 계층:
- 메시지의 구조화, 요청과 응답의 연결, 고수준 통신 패턴을 관리합니다. 주요 클래스는 Protocol, Client, Server 등이 있습니다.
- 전송 계층:
- 클라이언트와 서버 간의 실제 통신을 처리하며, MCP는 여러 전송 방식을 지원합니다:
- Stdio 전송: 표준 입력/출력을 사용하여 로컬 프로세스 간 통신에 적합합니다.
- HTTP 및 SSE(Server-Sent Events) 전송: 서버에서 클라이언트로의 메시지 전송에 SSE를 사용하고, 클라이언트에서 서버로의 메시지 전송에는 HTTP POST를 사용합니다.
- 클라이언트와 서버 간의 실제 통신을 처리하며, MCP는 여러 전송 방식을 지원합니다:
- 메시지 유형:
- 요청(Request): 응답을 기대하는 메시지입니다.
- 결과(Result): 요청에 대한 성공적인 응답입니다.
- 오류(Error): 요청 처리 중 발생한 문제를 나타냅니다.
- 알림(Notification): 응답을 필요로 하지 않는 일방향 메시지입니다.
연결 수명 주기:
- 초기화:
- 클라이언트가 프로토콜 버전과 기능을 포함한 initialize 요청을 보냅니다.
- 서버는 자신의 프로토콜 버전과 기능으로 응답합니다.
- 클라이언트는 확인을 위해 initialized 알림을 보냅니다.
- 이후 정상적인 메시지 교환이 시작됩니다.
- 메시지 교환:
- 요청-응답 패턴: 클라이언트나 서버가 요청을 보내면 상대방이 응답합니다.
- 알림: 어느 쪽이든 일방향 메시지를 보낼 수 있습니다.
- 종료:
- close()를 통한 정상적인 종료
- 전송 연결의 끊김
- 오류 상황 발생
오류 처리:
MCP는 표준 오류 코드를 정의하며, SDK나 애플리케이션은 자체적인 오류 코드를 정의할 수 있습니다. 오류는 요청에 대한 오류 응답, 전송의 오류 이벤트, 프로토콜 수준의 오류 핸들러를 통해 전달됩니다.
'AI' 카테고리의 다른 글
Gartner 보고자료로 살펴보는 2025년 트렌드 변화 (0) | 2025.03.18 |
---|---|
Figma를 Bolt.new로 쉽게 옮기는 방법 (0) | 2025.03.16 |
음성비서 : SesameAI의 CSM, Kyutai의 Moshi (0) | 2025.03.16 |
Perplexity 1년 무료 사용 방법 (0) | 2025.03.13 |
Cursor(VS Code)에서 ChatGPT와 협업하기 (0) | 2025.03.10 |
댓글