> Hello World !!!

     

@syaku

내가 이해한 MCP의 필요성 정리

728x90
반응형

랭체인으로 애플리케이션을 개발하면서 구지 MCP로 전향해야 하는 지 느끼지 못했다. 깊이 있게 알아보지 않은 것이 이유였겠지?
그래서 이번에 이것저것 찾아보면서 이해한 것들을 내 생각으로 정리?해 보았다.

소프트웨어 개발에서는 반복적으로 사용하는 기능을 모듈화하여 구현하고,
비즈니스 로직에서는 이러한 모듈을 필요에 따라 호출해 조합하는 방식이 일반적입니다.

LLM(대형 언어 모델) 기반 애플리케이션을 개발할 때도
텍스트 생성, 웹 크롤링, 데이터베이스 조회, 외부 API 호출 등
여러 작업(도구)이 결합되어 최종 결과를 만들어내기 때문에
각 도구를 모듈화하여 사용하는 것이 필수적입니다.
예를 들어, LangChain과 같은 프레임워크는
이런 도구들을 파이썬/자바스크립트 코드 단위의 모듈로 묶어 활용할 수 있게 해줍니다.

하지만 이 방식은 특정 프레임워크나 애플리케이션에 종속되기 쉽고,
각 도구의 재사용성·호환성에 한계가 있습니다.
즉, 한 번 만든 도구를 다른 LLM 시스템이나 서비스에서 쉽게 재활용하기 어렵고,
확장성에도 제약이 따릅니다.

MCP의 혁신

MCP(Model Context Protocol)는 이러한 한계를 극복하는 표준화된 도구 연동 프로토콜입니다.
MCP Server로 각 도구(모듈)를 구현하면,
어떤 애플리케이션(클라이언트)이든 MCP 프로토콜을 지원하기만 하면
별도의 추가 개발 없이도 해당 도구를 자유롭게 연동·활용할 수 있습니다.

  • 확장성:
    MCP로 개발된 도구는 표준 인터페이스를 통해
    다양한 LLM/AI 시스템과 손쉽게 연결할 수 있으므로,
    새로운 비즈니스 요구나 기술 변화에 유연하게 대응할 수 있습니다.
  • 마이크로서비스 아키텍처:
    각 MCP 서버(도구)는 완전히 독립적으로 동작하며,
    장애가 발생해도 다른 도구나 전체 서비스에 영향을 주지 않습니다.
    이는 시스템의 안정성과 장애 격리(장애 전파 차단)에 큰 장점이 됩니다.
  • 디커플링 및 유연성:
    MCP 서버는 서버간의 느슨하게 결합(Decoupling)되어 있어
    언제든지 새로운 기능을 추가하거나,
    기존 도구를 교체·업데이트할 수 있는 높은 유연성을 제공합니다.

실행 방식의 다양성

  • 명령형(On-demand) 실행:
    MCP 서버는 항상 구동되어 있을 필요 없이,
    실제로 요청이 들어올 때만 프로세스를 자동으로 실행해
    작업을 처리한 후 종료할 수 있습니다.
    이 방식은 리소스(메모리, CPU) 사용을 최소화할 수 있습니다.
  • 데몬(Always-on) 실행:
    필요하다면 MCP 서버를 상시 데몬(Always-on) 형태로 구동해
    빠른 응답성과 실시간 처리가 필요한 환경에도 대응할 수 있습니다.
    데몬 방식은 자원을 더 많이 사용하지만,
    매번 프로세스를 띄우는 오버헤드가 없다는 장점이 있습니다.

정리:
MCP는 도구(모듈) 개발·운영의 표준화와 확장성을 극대화하고,
마이크로서비스 기반의 장애 격리, 실행 유연성, 보안성, 중앙 관리 등
현대 AI/LLM 애플리케이션에 필요한 모든 아키텍처적 장점을 제공합니다.
이로써 다양한 클라이언트와 도구가 자유롭게 조합·확장되는
혁신적인 AI 생태계를 실현할 수 있습니다.

728x90
반응형