멀티버스 MCP 서버
동일한 MCP 서버의 여러 개의 분리된 인스턴스가 고유한 네임스페이스와 구성을 통해 독립적으로 공존할 수 있도록 하는 미들웨어 서버입니다.
멀티버스 MCP 서버는 동일한 MCP 서버가 충돌 없이 동시에 실행될 수 있는 격리된 운영 공간을 생성합니다. 각 "유니버스"는 자체 구성, 파일 시스템 액세스 및 함수 명명 방식을 유지하므로 개발자는 서로 다른 컨텍스트 또는 프로젝트 간에 완벽한 분리를 유지하면서 동일한 서버 유형의 여러 인스턴스를 실행할 수 있습니다.
주요 특징
여러 인스턴스 실행
동일한 MCP 서버 유형의 여러 인스턴스를 독립적으로 동시에 실행할 수 있습니다. 각 인스턴스는 별도의 구성을 사용하여 자체적으로 격리된 환경에서 작동합니다. 이를 통해 다음과 같은 시나리오가 가능합니다.
- 여러 개의 MySQL 서버
mcp-server-mysql
서로 다른 데이터베이스를 가리킴 - 다양한 개인 액세스 토큰을 사용하는 여러 Git 서버
mcp-server-git
- 여러 파일 시스템 서버
mcp-server-filesystem
서로 다른 루트 경로에 접근합니다.
자동 서버 재시작
개발 중에 MCP 서버에 파일 감시 기능을 등록하세요. 이 기능을 활성화하면 서버가 지정된 디렉터리의 변경 사항을 자동으로 감지하고 정상적으로 재시작하여 개발 및 테스트가 원활하게 진행됩니다.
JSON 기반 구성 시스템
간단하고 유연한 JSON 구성 형식을 사용하여 멀티버스 설정을 정의하세요. 각 서버 인스턴스는 다음과 같이 자체적으로 구성할 수 있습니다.
- 명령과 인수
- 환경 변수
- 경로 해결 규칙
- 파일 감시 설정
설치
먼저, Claude Desktop 앱을 다운로드하여 설치했고 npm도 설치했는지 확인하세요.
다음으로, 이 항목을 claude_desktop_config.json
에 추가하세요.
- Mac에서는
~/Library/Application\ Support/Claude/claude_desktop_config.json
에서 찾을 수 있습니다. - Windows에서는
C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json
에서 찾을 수 있습니다.
이제 실행할 멀티버스 서버 수를 추가하세요. 예를 들어, mcp-server-multiverse
인스턴스를 두 개(하나는 작업용, 다른 하나는 사이드 프로젝트용)로 실행하려면 다음 구성을 추가하세요.
지엑스피1
이 구성을 사용하면 앱을 시작할 때 Claude Desktop이 자동으로 mcp-server-multiverse
인스턴스를 시작할 수 있습니다.
구성 예제
서로 다른 데이터베이스를 사용하여 mcp-server-mysql
의 두 개의 분리된 인스턴스를 만듭니다.
job-multiverse.json
파일
side-project-multiverse.json
파일
mcp-server-filesystem
의 격리된 인스턴스를 만듭니다.
mcp-server-filesystem
의 기능은side-project``side-project_read_file
,side-project_write_file
과 같이 side-project 접두사와 함께 노출됩니다.pathResolution
구성을 사용하면 루트 경로를 클라이언트(예: Claude Desktop)에서 숨길 수 있습니다.
pathResolution
선택 사항이며 클라이언트에서 루트 경로를 숨기려는 경우에만 필요합니다.
multiverse.json
파일
fileWatch
사용하여 파일 변경 시 자동으로 서버 재시작
multiverse.json
파일
hideFunctions
옵션을 사용하여 특정 기능 숨기기
hideFunctions
배열을 사용하여 래핑된 서버에서 특정 함수를 선택적으로 숨길 수 있습니다. 이 기능은 서버를 사용하면서 잠재적으로 위험하거나 불필요한 특정 함수에 대한 접근을 제한하려는 경우 유용합니다.
hideFunctions
배열은 래핑된 서버에서 숨겨야 하는 함수 이름 목록을 받습니다. 함수가 숨겨지면:
- 메인 MCP 서버에 등록되지 않습니다.
- 클라이언트에서는 사용할 수 없습니다(예: Claude Desktop)
- 사용 가능한 기능 목록에 나타나지 않습니다.
이 기능은 다음과 같은 경우에 특히 유용합니다.
- 잠재적으로 위험한 기능에 대한 액세스 제한(예: GitHub의
delete_repository
) - 거의 사용되지 않는 기능을 숨겨서 인터페이스를 단순화합니다.
- 다양한 서버 인스턴스에 대해 서로 다른 권한 수준 생성
이 예에서 GitHub 서버는 정상적으로 시작되지만 create_repository
, delete_repository
, create_issue
함수는 숨겨져 클라이언트에서 사용할 수 없습니다.
enabled
플래그로 특정 서버 비활성화
enabled
플래그를 false
로 설정하면 JSON 파일에서 서버를 제거하지 않고도 구성에서 특정 서버를 선택적으로 비활성화할 수 있습니다. 이 기능은 개발이나 테스트 중에 서버를 일시적으로 비활성화하는 데 유용합니다.
이 예에서 첫 번째 서버(파일 시스템)는 시작되지만 write_file
함수는 숨겨져 있고, 두 번째 서버(GitHub)는 비활성화되어 시작되지 않습니다.
multiverse.json
파일의 전체 예
이 예제에서는 다양한 서버 유형의 여러 인스턴스를 사용하여 멀티버스 서버를 만드는 방법을 보여줍니다.
pathResolution
선택 사항이며 클라이언트에서 루트 경로를 숨기려는 경우에만 필요합니다.
할 일
- [ ]
Prompts
에 대한 지원 추가 - [ ]
Resources
에 대한 지원 추가 - [ ] 멀티버스 서버를 관리하기 위한 GUI 추가
검증된 플랫폼
- [x] 윈도우
- [ ] 맥OS
- [ ] 리눅스
특허
MIT
Related MCP Servers
- AsecurityFlicenseAqualityA MCP Server used to collect MCP Servers over the internet.Last updated -318Python
- -securityAlicense-qualityMCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.Last updated -132TypeScriptMIT License
- AsecurityAlicenseAqualityA central hub that aggregates multiple MCP resource servers into a single unified interface, enabling users to access tools and capabilities from multiple backend servers through one connection point.Last updated -30TypeScriptMIT License
- -security-license-qualityProxy that aggregates multiple MCP servers and presents them as a unified interface, allowing clients to access resources from multiple servers transparently.Last updated -1TypeScript