가상 MCP 서버란 무엇인가? MCP 서버 간의 도구 큐레이션
요약
가상 MCP 서버는 여러 실제 MCP 서버의 도구 중 안전한 것만 선택하여 하나의 큐레이션된 서버로 통합하는 기술입니다. 이를 통해 에이전트에게 최소 권한 원칙을 적용하여 파괴적인 도구 노출을 방지하고 효율적인 도구 관리가 가능합니다.
핵심 포인트
- 최소 권한 원칙(Least Privilege)을 도구 단위로 적용 가능
- 파괴적인 도구(예: 삭제 권한)를 제외한 안전한 도구 세트 구성
- 별도의 인프라 배포 없이 게이트웨이를 통한 단일 서버 노출
- 여러 백엔드 서버의 도구를 하나의 가상 서버로 통합 관리
요약 (TL;DR): 가상 MCP 서버는 여러 실제 MCP 서버의 도구들을 결합하여, 앱이 연결할 수 있는 하나의 큐레이션된 서버로 만듭니다. 안전한 도구만 선택하고 파괴적인 도구는 제외한 뒤, 추가적인 배포 없이 단일 원격 MCP 서버로 노출할 수 있습니다. 이는 에이전트에게 delete_project 권한을 주지 않고도 GitHub 및 Slack 접근 권한을 부여하는 방법입니다.
에이전트가 실제 도구를 호출하기 시작하면서, 접근 권한 문제는 빠르게 중요해지고 있습니다. Model Context Protocol (MCP)은 AI 에이전트를 데이터 소스나 도구 세트에 연결하는 데 매우 유용하지만, 가공되지 않은(raw) MCP 서버는 보통 '전부 아니면 전무(all or nothing)' 방식입니다. 에이전트를 GitHub MCP 서버에 연결하면, 해당 서버가 노출하는 모든 도구(브랜치를 삭제하거나 Pull Request를 닫는 도구 포함)를 에이전트가 볼 수 있게 됩니다. 가상 MCP 서버는 새로운 인프라를 구축하지 않고도, 하나 이상의 하위 서버에서 추출한 큐레이션된 도구의 부분 집합을 에이전트에게 전달함으로써 이 문제를 해결합니다.
이 가이드는 가상 MCP 서버가 무엇인지, 어떻게 작동하는지, 도구 명명(tool naming)이 어떻게 처리되는지, 그리고 더 넓은 범위의 MCP 게이트웨이 내에서 어디에 위치하는지를 다룹니다.
가상 MCP 서버란 무엇인가?
가상 MCP 서버는 여러 MCP 서버의 도구들을 결합하여, 애플리케이션이 연결할 수 있는 단일한 큐레이션된 MCP 서버로 만듭니다. 에이전트를 각 백엔드 서버에 직접 연결하는 대신, 에이전트가 갖기를 원하는 정확한 도구 세트를 구성하여 이를 하나의 서버로 게시합니다.
TrueFoundry가 문서에서 사용하는 예시는 이를 구체적으로 보여줍니다. 게이트웨이에 GitHub 및 Slack용 MCP 서버가 등록되어 있다고 가정해 봅시다. 에이전트를 구축하는 팀은 두 서비스 모두에 대한 접근 권한이 필요하지만, delete_project나 delete_pr과 같은 도구는 노출하고 싶지 않습니다. 가상 MCP 서버를 사용하면 GitHub과 Slack에서 안전한 부분 집합만 가져오는 새로운 서버를 생성할 수 있습니다. 이 새로운 서버는 다른 원격 MCP 서버와 마찬가지로 접근 가능하며, 별도의 배포가 필요하지 않습니다. 게이트웨이가 이를 관리합니다.
실질적인 이점은 에이전트(agent)에 대한 최소 권한(least privilege) 부여입니다. 서버 수준이 아닌 도구(tool) 수준에서 에이전트가 무엇을 다룰 수 있는지 결정할 수 있습니다.
가상 MCP 서버가 유용한 경우:
- 에이전트가 하나 이상의 백엔드(backend)로부터 도구가 필요하지만, 그들 모두가 필요하지는 않을 때.
- 에이전트가 도구를 접하기 전에 파괴적이거나 위험도가 높은 도구를 제거하고 싶을 때.
- 서로 다른 팀이나 애플리케이션이 동일한 기반 서버의 서로 다른 부분(slice)을 필요로 할 때.
- 별도의 맞춤형 프록시 서버(proxy server)를 배포하거나 유지 관리하지 않고 도구 접근 범위를 제한하고 싶을 때.
가상 MCP 서버의 작동 방식
기반 서버들이 MCP 게이트웨이(gateway)에 등록되고 나면 흐름은 매우 간단합니다.
- 실제 MCP 서버 등록. GitHub 및 Slack과 같이 데이터를 가져오고자 하는 백엔드들을 게이트웨이에 연결합니다.
- 안전한 도구 선택. 해당 서버들 중에서 에이전트가 가져야 할 도구의 하위 집합(subset)을 선택합니다. 파괴적이거나 범위를 벗어나는 것은 모두 제외합니다.
- 가상 서버 게시. 게이트웨이는 선택된 도구들을 단일 가상 MCP 서버로 노출합니다. 게이트웨이가 이를 호스팅하므로 별도로 실행하거나 확장해야 하는 배포 과정이 없습니다.
- 애플리케이션 연결. 스트리밍 가능한 HTTP(streamable HTTP)를 통해 다른 원격 MCP 서버를 사용하는 것과 동일한 방식으로 에이전트나 MCP 클라이언트를 가상 서버로 지정합니다.
에이전트 입장에서는 합리적인 도구 세트를 갖춘 깔끔한 단일 서버만 보이게 됩니다. 모든 큐레이션(curation)은 게이트웨이에서 이루어집니다.
도구 이름 처리 방식
여러 서버에서 도구를 하나의 가상 서버로 가져올 때, 이름 충돌(name collision)은 실제적인 위험 요소입니다. 예를 들어, 두 개의 백엔드가 모두 create_issue를 노출할 수 있습니다. TrueFoundry는 각 도구의 원래 이름을 유지하면서 짧은 무작위 접미사(suffix)를 추가하는 방식으로 이를 처리하며, 이에 따라 create_issue는 create_issue_a1b2c3와 같은 형태가 됩니다. 이 접미사는 가상 서버 내에서 모든 도구가 고유함을 유지하게 해줍니다.
왜 서버 이름을 접두사로 붙이는 방식(예: github-create_issue) 대신 이와 같은 방식을 사용하는지 주목할 필요가 있습니다. MCP 명세(spec)는 도구(tool) 이름을 64자 이내로 유지할 것을 권장하며, 긴 서버 이름은 이 제한된 글자 수의 대부분을 차지할 수 있습니다. 도구 이름은 LLM이 어떤 도구를 호출할지 결정할 때 사용하는 가장 강력한 신호이므로, 짧은 접미사를 추가하면서도 이름을 온전히 보존하는 방식은 이름의 의미를 유지하면서도 충돌을 방지할 수 있게 해줍니다.
가상 MCP 서버 vs 원시(raw) MCP 서버
| 측면 | 원시 (Raw) MCP 서버 | 가상 (Virtual) MCP 서버 |
|---|---|---|
| 도구 범위 (Tool scope) | 서버가 노출하는 모든 도구 | 사용자가 선택한 큐레이션된 하위 집합 |
| ... | ... | ... |
| 이 둘은 경쟁 관계가 아닙니다. 가상 MCP 서버는 실제 서버 상단에 위치하며, 서버들에 대한 거버넌스(governance) 계층을 제공합니다. |
MCP 게이트웨이에서 가상 MCP 서버의 역할
가상 MCP 서버는 더 큰 작업, 즉 엔터프라이즈 에이전트(enterprise agents)에게 통제된 도구 접근 권한을 부여하는 작업의 한 가지 기능입니다. MCP 도입 자체만으로는 확산(sprawl)되는 경향이 있습니다. 모든 개발자가 Cursor, VS Code 또는 Claude Code에서 각자의 서버 연결을 설정하고, 자격 증명(credentials)은 여러 기기에 흩어지며, 보안 팀은 어떤 도구가 누구에 의해 호출되는지 가시성을 확보할 수 없습니다.
MCP 게이트웨이는 이를 중앙 집중화합니다. TrueFoundry MCP Gateway는 AI 에이전트에게 여러 MCP 서버에 대한 단일 접속 지점을 제공하며, 가상 서버를 프로덕션 환경에서 더욱 유용하게 만드는 몇 가지 기능을 갖추고 있습니다:
- 표준 OAuth 흐름 (Standard OAuth flows). 에이전트와 개발자는 도구별로 임시 키 (ad-hoc keys)를 사용하는 대신, 엔터프라이즈 MCP 서버를 위한 표준 OAuth 2LO 및 3LO 흐름을 통해 인증합니다.
- 관리되는 도구 수준의 액세스 (Governed, tool-level access). 액세스 제어가 중앙에서 강제되며, 이는 가상 서버 내의 큐레이션된 도구 서브셋이 단순한 외관상의 변화가 아닌 실질적인 의미를 갖게 만듭니다.
- 도구 호출 전후의 가드레일 (Pre-tool and post-tool guardrails). 정책을 강제하기 위해 도구 호출 전후에 체크를 실행할 수 있으므로, 큐레이션된 도구 세트는 보호된(guarded) 세트가 될 수도 있습니다.
- 전체 감사 추적 및 메트릭 (Full audit trail and metrics). 모든 도구 호출이 가시적이며, 서버 및 도구별 요청률, 지연 시간 (latency), 실패 및 사용 패턴을 확인할 수 있습니다.
- 서버 구축을 위한 더 많은 방법. 기존 서버를 큐레이션하는 것을 넘어, 게이트웨이는 OpenAPI 명세 (spec)를 MCP 도구로 변환할 수 있으며 CLI 스타일의 stdio 서버를 관리형 호스팅 엔드포인트로 실행할 수 있습니다.
가상 서버 뒤에 있는 백엔드로 사용자 정의 자격 증명 (custom credentials)을 전달해야 하는 경우, 게이트웨이는 x-tfy-mcp-headers 헤더를 지원하여 서버별 헤더를 하위 MCP 서버로 전달합니다. 현재 유의해야 할 한 가지 제한 사항은, 가상 MCP 서버는 현재 도구 목록 나열 및 호출을 지원하므로, 다른 MCP 기능에 의존하는 경우 이를 고려하여 계획을 세워야 합니다.
가상 MCP 서버를 사용해야 하는 경우
도구 액세스를 전체가 아닌 범위(scope)로 제한해야 할 때 가상 MCP 서버를 사용하십시오. 몇 가지 일반적인 사례는 다음과 같습니다:
- 최소 권한 원칙 에이전트 (Least-privilege agents). 에이전트에게 작업에 꼭 필요한 도구만 제공하고, 피해를 줄 수 있는 도구는 제공하지 않습니다.
- 팀별 또는 앱별 도구 세트. 동일한 백엔드에서 서로 다른 소비자에게 서로 다른 큐레이션된 서버를 게시합니다.
- 멀티 테넌트 도구 카탈로그 (Multi-tenant tool catalogs). 원시 서버를 노출하지 않고 서로 다른 테넌트에게 큐레이션되고 검색 가능한 도구 세트를 제공합니다.
관련 읽을거리
- LLM 앱을 위한 TrueFoundry MCP Gateway 소개: 가상 서버(virtual servers)의 제품적 배경
- TrueFoundry MCP Gateway 개요 (docs): 등록(registration), 인증(auth), 및 거버넌스(governance)
- 가상 MCP 서버 (docs): 여기서 설명하는 기능에 대한 참조 문서
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기