토스, 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 연동 자동화를 달성했다.

API 연동 자동화를 위한 여정: 토스는 왜 사내 MCP 서버를 개발하였는가? with Spring-AI