에이전트 앱 연결의 새로운 표준, 모델 컨텍스트 프로토콜(MCP) 심층 분석
챗GPT와 같은 LLM 기반 에이전트 앱이 급부상하면서, LLM의 한계를 극복하고 실제 데이터 및 도구와의 연결을 가능하게 하는 새로운 프로토콜의 필요성이 대두되고 있습니다. 모델 컨텍스트 프로토콜(MCP)은 바로 이러한 요구를 충족하기 위해 등장했습니다. 하지만 새로운 프로토콜 도입에는 항상 신중한 검토가 필요합니다. 기존 API의 한계는 무엇이며, MCP는 어떤 가치를 제공할 수 있을까요?
기존 API의 한계와 MCP의 등장
기존 API는 다양한 형태와 프로토콜, 인증 방식을 사용합니다. REST, GraphQL, gRPC 등 API마다 연결 방식이 제각각이며, HTTP, 웹소켓, Pub/Sub 등의 프로토콜을 사용하고, API 키, OAuth2 등 인증 방식도 다릅니다. 이는 개발자가 각 API마다 개별적으로 문서를 읽고, 플로우를 설계하고, 연결해야 하는 번거로움을 야기합니다. WSO2 정적 통합 모델은 오랜 기간 효과를 입증했지만, 에이전트 앱의 동적인 특성에는 적합하지 않습니다. MCP는 바로 이러한 문제를 해결하기 위해 등장했습니다. MCP는 클라이언트-서버 역할, 표준 프로토콜 형식, 라이프사이클을 명확히 정의하여 LLM과 외부 시스템을 연결하는 범용 커넥터 역할을 수행합니다.
MCP의 핵심 역할과 동작 방식
MCP는 호스트, 클라이언트, 서버의 세 가지 핵심 역할을 정의합니다. 호스트는 클라이언트의 수명 주기를 관리하고 보안을 강제하는 에이전트 앱입니다. 클라이언트는 호스트 내부의 경량 커넥터로, MCP 서버와 1:1 세션을 설정합니다. 서버는 MCP 클라이언트를 데이터 소스 및 도구에 연결하는 프로그램으로, 로컬 또는 원격에서 동작 가능합니다. MCP 서버는 리소스, 프롬프트, 도구를 제공하며, MCP 클라이언트는 MCP 서버에 연결하여 데이터를 요청하고, 도구를 실행하며, 에이전트를 조율합니다. MCP는 요청과 응답을 위해 JSON-RPC를 사용하며, 클라이언트-서버 간 통신을 위해 STDIO와 스트리밍 가능한 HTTP의 두 가지 표준 전송 메커니즘을 정의합니다.
로컬 및 원격 MCP 서버 보안
MCP 서버가 로컬에서 실행될 때는 STDIO 전송 방식을 사용하는 것이 권장됩니다. 이는 에이전트 앱이 MCP 서버를 하위 프로세스로 실행하고, 표준 입출력 스트림을 통해 통신하는 방식입니다. 이 통신은 로컬 시스템 내부에서만 이루어지므로 안전하며, MCP 인증 사양에서도 별도의 보안 조치를 요구하지 않습니다. 하지만 MCP 서버가 백엔드 API와 인터넷을 통해 통신할 때는 보안이 최우선 과제가 됩니다. MCP 인증 사양은 장기 토큰, 단기 토큰, OAuth 2.1 등 기존의 API 보안 프랙티스를 활용하여 보안을 강화합니다. 특히, 원격 MCP 서버의 엔드포인트는 반드시 OAuth 2.1로 보호되어야 하며, 클라이언트는 유효한 액세스 토큰을 제시해야 합니다.
MCP 인증 사양과 토큰 획득 절차
MCP 인증 사양은 동적이고 에이전트 기반 통합을 지원하기 위해 설계된 토큰 획득 절차를 정의합니다. 이 과정은 서버 메타데이터 탐색, 클라이언트 등록, 액세스 토큰 획득의 세 단계로 이루어집니다. 서버 메타데이터 탐색 단계에서는 클라이언트가 MCP 서버 URL에서 서버 메타데이터 엔드포인트를 생성하고, JSON 형식의 서버 메타데이터 문서를 가져옵니다. 클라이언트 등록 단계에서는 클라이언트 애플리케이션이 서버 메타데이터 문서에서 가져온 정보를 바탕으로 클라이언트 등록 엔드포인트에 등록 요청을 보냅니다. 액세스 토큰 획득 단계에서는 클라이언트가 사용 사례에 따라 클라이언트 자격 증명 또는 인가 코드 그랜트와 같은 OAuth 2.1 그랜트 유형을 사용하여 액세스 토큰을 획득합니다.
결론
모델 컨텍스트 프로토콜(MCP)은 LLM 기반 에이전트 앱의 발전에 필요한 데이터 및 도구 연결의 새로운 표준을 제시합니다. 기존 API의 복잡성을 해결하고, 표준화된 인터페이스를 제공하여 개발 효율성을 높일 수 있습니다. 물론, 새로운 프로토콜 도입에는 보안, 성능 등 다양한 고려 사항이 필요하지만, MCP는 에이전트 앱 생태계를 발전시키는 데 중요한 역할을 할 것으로 기대됩니다.