Multiverse MCP Server
Um servidor intermediário para executar múltiplas instâncias isoladas de servidores MCP com namespaces e configurações únicas.
Documentação
Multiverse MCP Server
Um servidor de middleware que permite que múltiplas instâncias isoladas dos mesmos servidores MCP coexistam de forma independente com namespaces e configurações únicos.
O Multiverse MCP Server cria espaços operacionais isolados onde servidores MCP idênticos podem ser executados simultaneamente sem conflitos. Cada "universo" mantém sua própria configuração, acesso ao sistema de arquivos e nomenclatura de funções, permitindo que desenvolvedores executem múltiplas instâncias do mesmo tipo de servidor, mantendo separação completa entre diferentes contextos ou projetos.
Principais Recursos
Executar Múltiplas Instâncias
Execute múltiplas instâncias do mesmo tipo de servidor MCP de forma independente e simultânea. Cada instância opera em seu próprio universo isolado com configurações separadas. Isso permite cenários como:
- Múltiplos servidores MySQL
mcp-server-mysqlapontando para diferentes bancos de dados - Múltiplos servidores Git
mcp-server-gitcom diferentes Personal Access Tokens - Múltiplos servidores de sistema de arquivos
mcp-server-filesystemacessando diferentes caminhos raiz
Reinício Automático do Servidor
Registre seu servidor MCP com capacidade de monitoramento de arquivos durante o desenvolvimento. Quando habilitado, o servidor detecta automaticamente alterações no diretório especificado e realiza um reinício gracioso, tornando o desenvolvimento e os testes contínuos.
Sistema de Configuração Baseado em JSON
Defina sua configuração multiverse usando um formato de configuração JSON simples e flexível. Cada instância de servidor pode ser configurada com seus próprios:
- Comando e argumentos
- Variáveis de ambiente
- Regras de resolução de caminho
- Configurações de monitoramento de arquivos
Implantação hospedada
Uma implantação hospedada está disponível em Fronteir AI.
Instalação
Primeiro, certifique-se de ter baixado e instalado o aplicativo Claude Desktop e de ter o npm instalado.
Em seguida, adicione esta entrada ao seu claude_desktop_config.json
- no Mac, encontrado em
~/Library/Application\ Support/Claude/claude_desktop_config.json - no Windows, encontrado em
C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json
Agora adicione quantos servidores multiverse você deseja executar. Por exemplo, se você quiser executar duas instâncias de mcp-server-multiverse, uma para o seu trabalho e uma para o seu projeto paralelo, você pode adicionar a seguinte configuração:
{
"mcpServers": {
"job-multiverse": {
"command": "npx",
"args": [
"-y",
"@lamemind/mcp-server-multiverse@latest",
"/path/to/your/job-multiverse.json"
]
},
"side-project-multiverse": {
"command": "npx",
"args": [
"-y",
"@lamemind/mcp-server-multiverse@latest",
"/path/to/your/side-project-multiverse.json"
]
}
}
}
Esta configuração permite que o Claude Desktop inicie automaticamente as instâncias mcp-server-multiverse quando você iniciar o aplicativo.

Exemplos de Configuração
Criar duas instâncias isoladas de mcp-server-mysql com diferentes bancos de dados
Seu arquivo job-multiverse.json
{
"serverName": "JobMultiverse",
"functionsPrefix": "job",
"servers": [
{
"command": "npx",
"args": [
"-y",
"@benborla29/mcp-server-mysql"
],
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "",
"MYSQL_DB": "my-job-db"
}
}
]
}
Seu arquivo side-project-multiverse.json
{
"serverName": "SideProjectMultiverse",
"functionsPrefix": "side-project",
"servers": [
{
"command": "npx",
"args": [
"-y",
"@benborla29/mcp-server-mysql"
],
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "",
"MYSQL_DB": "side-project-db"
}
}
]
}
Criar uma instância isolada de mcp-server-filesystem
- As funções do
mcp-server-filesystemserão expostas com o prefixoside-project, por exemplo,side-project_read_file,side-project_write_file. - O caminho raiz pode ser ocultado do cliente (por exemplo, Claude Desktop) usando a configuração
pathResolution.
Observe que pathResolution é opcional e só é necessário se você quiser ocultar o caminho raiz do cliente.
Seu arquivo multiverse.json
{
"serverName": "MySideProject",
"functionsPrefix": "side-project",
"servers": [
{
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem@latest",
"/full/path/to/side-project"
],
"pathResolution": {
"root": "/full/path/to/side-project",
"applyTo": [
"path",
"paths"
]
}
}
]
}
Reinício automático do servidor em alterações de arquivos com fileWatch
Seu arquivo multiverse.json
{
"serverName": "MySideProject",
"functionsPrefix": "side-project",
"servers": [
{
"command": "node",
"args": [
"/my-own/mcp-server/i-m-working-on/build/index.js"
],
"fileWatch": {
"enabled": true,
"path": "/my-own/mcp-server/i-m-working-on/build/"
}
}
]
}
Ocultando funções específicas com a opção hideFunctions
Você pode ocultar seletivamente funções específicas de servidores encapsulados usando o array hideFunctions. Isso é útil quando você deseja usar um servidor, mas restringir o acesso a certas funções potencialmente perigosas ou desnecessárias.
O array hideFunctions aceita uma lista de nomes de funções que devem ser ocultadas do servidor encapsulado. Quando uma função é ocultada:
- Ela não será registrada no servidor MCP principal
- Ela não estará disponível para o cliente (por exemplo, Claude Desktop)
- Ela não aparecerá na lista de funções disponíveis
Este recurso é particularmente útil para:
- Restringir o acesso a funções potencialmente perigosas (por exemplo,
delete_repositoryno GitHub) - Simplificar a interface ocultando funções raramente usadas
- Criar diferentes níveis de permissão para diferentes instâncias de servidor
{
"serverName": "GitHubWithRestrictions",
"functionsPrefix": "github",
"servers": [
{
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github@latest"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your-personal-access-token>"
},
"hideFunctions": [
"create_repository",
"delete_repository",
"create_issue"
]
}
]
}
Neste exemplo, o servidor GitHub iniciará normalmente, mas as funções create_repository, delete_repository e create_issue serão ocultadas e indisponíveis para o cliente.
Desabilitando servidores específicos com a flag enabled
Você pode desabilitar seletivamente servidores específicos em sua configuração sem removê-los do arquivo JSON, definindo a flag enabled como false. Isso é útil para desabilitar temporariamente servidores durante o desenvolvimento ou testes.
{
"serverName": "MySideProject",
"functionsPrefix": "side-project",
"servers": [
{
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem@latest",
"/full/path/to/side-project"
],
"hideFunctions": [ "write_file" ]
},
{
"enabled": false,
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github@latest"
]
}
]
}
Neste exemplo, o primeiro servidor (filesystem) iniciará, mas a função write_file foi ocultada; o segundo servidor (GitHub) está desabilitado e não será iniciado.
Exemplo completo de um arquivo multiverse.json
Este exemplo demonstra como criar um servidor multiverse com múltiplas instâncias de diferentes tipos de servidor.
Observe que pathResolution é opcional e só é necessário se você quiser ocultar o caminho raiz do cliente.
{
"serverName": "HugeProjectWithALotOfResources",
"functionsPrefix": "huge-project",
"servers": [
{
"command": "node",
"args": [
"/my-own/mcp-server/i-m-working-on/build/index.js"
],
"fileWatch": {
"enabled": true,
"path": "/my-own/mcp-server/i-m-working-on/build/"
}
},
{
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem@latest",
"/full/path/to/huge-project"
],
"pathResolution": {
"root": "/full/path/to/huge-project",
"applyTo": [
"path",
"paths"
]
}
},
{
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github@latest"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your-personal-access-token>"
}
},
{
"command": "uvx",
"args": [
"mcp-server-git",
"--repository",
"/full/path/to/huge-project"
],
"pathResolution": {
"root": "/full/path/to/huge-project",
"applyTo": [
"repo_path"
]
}
}
]
}
A Fazer
- Adicionar suporte para
Prompts - Adicionar suporte para
Resources - Adicionar uma GUI para gerenciar servidores multiverse
Plataformas Verificadas
- Windows
- macOS
- Linux
Licença
MIT