토스, Spring-AI로 API 연동 자동화! 개발 생산성 UP!
by DD
7개월 전
조회수 22
API 스펙 공유 자동화를 위해 MCP 서버를 개발하여 개발 생산성을 향상시킴
Spring-AI를 활용하여 Stateless Streamable-HTTP 방식으로 MCP 서버 구축
Swagger MCP 구현 과정에서 토큰 초과 에러 및 Swagger 컴포넌트 충돌 등의 문제 해결
MCP 서버 아키텍처: LLM과 API 연결
MCP(Model Context Protocol)는 LLM이 외부 도구와 안전하게 소통하도록 돕는 표준 프로토콜이다. 구체적으로 Prompts, Resources, Tools를 제공하여 LLM에 컨텍스트를 제공한다. 따라서 Spring-AI를 통해 Stateless Streamable-HTTP 방식으로 MCP 서버를 구축하여 MSA 환경에 적합하도록 설계되었다.
Spring-AI와 MCP 서버의 장단점
Spring-AI는 MCP 서버 개발을 위한 편리한 기능을 제공하지만, 아직 Pre-release 상태의 라이브러리라는 점을 고려해야 한다. 반면, Stateless Streamable-HTTP 방식은 세션 유실 문제를 해결하여 서비스 안정성을 높였다. 따라서, 프로토콜 선택 시 트레이드오프를 신중히 고려해야 한다.
Swagger MCP 구현: 문제 해결과 생산성 향상
Swagger MCP 구현 과정에서 토큰 초과 에러와 Swagger 컴포넌트 이름 충돌 문제를 겪었다. 프롬프트 추가 및 SpringDoc 설정 변경을 통해 문제를 해결하고, GitHub Actions를 활용하여 Swagger 작성을 자동화했다. 결과적으로 개발자 생산성을 향상시키고, API 연동 자동화를 달성했다.