AAIF MCP Dev Summit Seoul 에서 발표된 기조연설, 네이버클라우드 김지혜님의 발표 정리입니다.
네이버클라우드의 1만 개 API를 위한 MCP 도입기와 게이트웨이 아키텍처
네이버클라우드 플랫폼(NCP)은 수많은 클라우드 서비스를 제공하는 CSP입니다. 기존에는 사용자가 클라우드 환경을 다루기 위해 콘솔 화면에 접속해 각 서비스의 구조를 파악하고 가이드 문서를 일일이 읽어야 했습니다.
AI 시대가 본격화되면서, 자연어 명령만으로 클라우드를 제어하려는 수요가 커졌습니다. 이를 실현하려면 각 클라우드 서비스가 LLM과 연동할 수 있는 표준 규격인 MCP(Model Context Protocol) 서버를 제공해야 합니다.
네이버클라우드는 오픈 API와 내부 API를 합쳐 1만 개가 넘는 방대한 인터페이스를 보유하고 있습니다. 이 수많은 기능을 AI와 연결하기 위해 거쳤던 시행착오와 아키텍처 구축 과정을 정리했습니다.
1. 대규모 MCP 구축에서 마주한 시행착오
1만 개 이상의 API를 각 서비스 개발팀이 직접 구현하면 막대한 시간과 비용이 발생하고 품질 편차도 심해질 우려가 있었습니다. 이에 따라 자동화와 품질 확보를 위한 여러 시도가 이어졌습니다.
1) 수동 직접 개발
초기에는 서비스별 MCP 서버를 직접 작성했습니다. 결과물의 완성도는 높았으나 작업 속도가 지나치게 느려 남아 있는 수많은 서비스를 대응하기에는 한계가 분명했습니다.
2) OpenAPI 스펙 기반 단순 자동 변환
OpenAPI 명세서를 바탕으로 MCP 서버 코드를 자동 변환하는 방식을 도입했습니다. 변환 속도는 매우 빨랐지만, 실제 AI 에이전트가 도구를 선택하는 정확도가 크게 떨어졌습니다.
원인은 기존 API 명세서의 설명(Description)에 있었습니다. 많은 명세서가 설명을 비워두거나 "자세한 내용은 문서를 참조하세요"와 같이 간략하게만 작성되어 있었습니다. 사람은 콘솔이나 문서를 보며 종합적인 맥락을 파악할 수 있지만, AI는 오직 스펙에 적힌 설명에만 의존하기 때문에 도구 선택에 실패한 것입니다. 그렇다고 1만 개가 넘는 기존 API 명세를 전부 다시 작성하는 것은 현실적으로 비용이 너무 컸습니다.
3) OpenAPI 스펙과 가이드 문서를 함께 활용한 생성
API 명세서와 공식 가이드 문서를 AI에게 함께 전달하여 MCP 서버를 생성하도록 유도했습니다. 전반적인 구현 수준은 개선되었으나, 여전히 설명이 모호하거나 잘못된 인자(Parameter)가 들어가는 문제가 발생했습니다. 또한 API가 변경되어 MCP 코드를 다시 생성할 때마다 매번 구현 방식이 달라져 일관성을 유지하기 어려웠습니다.
2. MCP 생성 자동화: Generator와 품질 평가 시스템
단순 생성을 멈추고 '좋은 MCP 서버란 무엇인가'에 대한 기준을 먼저 정의했습니다. 그 결과 일관된 품질을 보장하는 MCP Generator를 구축했습니다.
- 품질 평가 시스템: 생성된 코드가 API 명세를 제대로 반영했는지, 도구 설명이 적절한지, 보안상 취약하거나 위험한 코드가 없는지 등을 다각도로 채점합니다.
- AI 기반 코드 시스템: 동일한 인증 방식과 서버 구조를 유지할 수 있도록 표준 레퍼런스 템플릿을 제작했습니다. 이 템플릿과 OpenAPI 스펙, 가이드 문서를 기반으로 AI가 코드를 작성합니다.
- 피드백 루프: AI가 생성한 결과물을 품질 평가 시스템이 검증하고, 내부 기준 점수에 미달하면 감점 근거를 피드백하여 통과할 때까지 재생성합니다.
이러한 생성기를 고도화하던 중, AI 기술의 빠른 발전으로 MCP Builder 스킬이 등장했습니다. 이후에는 복잡한 제너레이터 없이도 정교하게 작성된 스킬 파일 하나만으로 높은 품질의 MCP 서버를 빠르게 생성할 수 있게 되었습니다.
3. 새로운 고민과 MCP Gateway의 필요성
MCP 서버 생성이 수월해지자 고민의 초점은 '어떻게 잘 만들 것인가'에서 '수많은 MCP 서버를 어떻게 에이전트에 잘 연결하고 전달할 것인가'로 전환되었습니다.
사용자가 자연어로 클라우드를 다루고 싶을 뿐인데, 개별 서비스의 MCP 도구를 클라이언트 에이전트에 일일이 등록하고 관리하게 만드는 것은 비효율적입니다. 이 문제를 해결하기 위해 MCP Gateway를 도입했습니다.
MCP Gateway는 수많은 MCP 서버를 중앙에서 통합 관리하고, 클라이언트에는 단 하나의 도구 진입점만 제공하여 클라우드의 모든 서비스를 제어할 수 있도록 돕는 플랫폼입니다.
- 주요 기능:
- MCP 서버 생성, 등록, 호출 제한(Rate Limit) 관리
- 호출 요청 인증 및 라우팅
- 위험 및 민감 정보 필터링
- 전체 요청 이력 저장 및 감사(Audit)
4. MCP Gateway의 두 가지 핵심 설계
1) 프라이베이트 CA 기반의 안전한 인증 체계
네이버클라우드는 Access Key와 Secret Key로 사용자를 식별합니다. 만약 MCP 도구 호출을 위해 이 키를 AI에게 그대로 넘겨준다면 심각한 보안 위험이 발생합니다. 클라우드 키는 단순한 기능 실행 권한이 아니라 계정 전체에 대한 권한이기 때문에, 오작동이나 탈취가 발생할 경우 운영 중인 서버 삭제, 데이터 유출, 과도한 비용 청구로 이어질 수 있습니다.
이를 방지하기 위해 게이트웨이는 사설 인증서(Private CA) 방식을 채택했습니다.
- 게이트웨이는 내부에 사설 인증서만 보관하며, 사용자의 클라우드 루트 키는 보관하지 않습니다.
- 사용자는 클라우드 키와 무관한 게이트웨이 전용 접속 정보만 보유합니다.
- 게이트웨이는 내부 인증서를 이용해 네이버클라우드의 IAM 서비스(Server Account)로부터 임시 키(Temporary Key)를 발급받습니다.
- 발급된 임시 키로 각 MCP 서버에 인증하며, Server Account의 Trust Anchor, Profile, Role 설정을 그대로 따릅니다.
이 설계를 통해 클라우드 핵심 자격 증명을 외부에 노출하지 않으면서도 기존 IAM 권한 체계를 안전하게 유지합니다.
2) 툴 서치(Tool Search)와 2개 툴 노출 전략
1만 개 이상의 API 도구를 AI 에이전트의 컨텍스트에 한 번에 올리면 컨텍스트 창 용량을 초과할 뿐만 아니라, 도구 선택 정확도가 크게 떨어집니다.
게이트웨이는 에이전트에 오직 2개의 도구만 노출하는 방식을 사용합니다.
- 용어 변환: 사용자가 "내 서버들을 보여줘"라고 질의하면, 게이트웨이가 이를 클라우드 표준 용어인 "서버 인스턴스"로 변환합니다.
- 시맨틱 검색 (Tool Search): 변환된 질의를 바탕으로 전체 기능 중 가장 연관성 높은 소수의 MCP 도구를 검색하여 AI에게 전달합니다.
- 최종 호출: AI는 추천받은 도구 목록 중 적절한 도구를 선택해 게이트웨이로 최종 실행을 요청합니다.
가장 적합한 도구를 찾아내기 위해 검색 방식의 벤치마크도 진행했습니다. 키워드 매칭(BM25), 임베딩 기반 검색, 그리고 두 방식을 섞은 하이브리드 방식을 비교하기 위해 질문과 정답 쌍으로 구성된 '골든셋(Golden Set)' 데이터셋을 구축했습니다. 정답 히트율을 측정한 결과 임베딩 방식이 가장 우수한 성능을 보여 이를 최종 적용했습니다.