Multiverse MCP Server
Un servidor intermediario para ejecutar múltiples instancias aisladas de servidores MCP con espacios de nombres y configuraciones únicos.
Documentación
Multiverse MCP Server
Un servidor middleware que permite que múltiples instancias aisladas de los mismos servidores MCP coexistan de forma independiente con espacios de nombres y configuraciones únicos.
El Multiverse MCP Server crea espacios operativos aislados donde servidores MCP idénticos pueden ejecutarse simultáneamente sin conflictos. Cada "universo" mantiene su propia configuración, acceso al sistema de archivos y nomenclatura de funciones, lo que permite a los desarrolladores ejecutar múltiples instancias del mismo tipo de servidor manteniendo una separación completa entre diferentes contextos o proyectos.
Características principales
Ejecutar múltiples instancias
Ejecute múltiples instancias del mismo tipo de servidor MCP de forma independiente y simultánea. Cada instancia opera en su propio universo aislado con configuraciones separadas. Esto permite escenarios como:
- Múltiples servidores MySQL
mcp-server-mysqlapuntando a diferentes bases de datos - Múltiples servidores Git
mcp-server-gitcon diferentes tokens de acceso personal - Múltiples servidores de sistema de archivos
mcp-server-filesystemaccediendo a diferentes rutas raíz
Reinicio automático del servidor
Registre su servidor MCP con capacidad de vigilancia de archivos durante el desarrollo. Cuando está habilitado, el servidor detecta automáticamente los cambios en el directorio especificado y realiza un reinicio elegante, haciendo que el desarrollo y las pruebas sean fluidos.
Sistema de configuración basado en JSON
Defina su configuración multiverse utilizando un formato de configuración JSON simple y flexible. Cada instancia de servidor puede configurarse con su propio:
- Comando y argumentos
- Variables de entorno
- Reglas de resolución de rutas
- Configuración de vigilancia de archivos
Implementación alojada
Hay una implementación alojada disponible en Fronteir AI.
Instalación
Primero, asegúrese de haber descargado e instalado la aplicación Claude Desktop y de tener npm instalado.
A continuación, agregue esta entrada a su claude_desktop_config.json
- en Mac, ubicado en
~/Library/Application\ Support/Claude/claude_desktop_config.json - en Windows, ubicado en
C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json
Ahora agregue cuántos servidores multiverse desea ejecutar. Por ejemplo, si desea ejecutar dos instancias de mcp-server-multiverse, una para su trabajo y otra para su proyecto personal, puede agregar la siguiente configuración:
{
"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 configuración permite que Claude Desktop inicie automáticamente las instancias de mcp-server-multiverse cuando inicie la aplicación.

Ejemplos de configuración
Crear dos instancias aisladas de mcp-server-mysql con diferentes bases de datos
Su archivo 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"
}
}
]
}
Su archivo 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"
}
}
]
}
Crear una instancia aislada de mcp-server-filesystem
- Las funciones de
mcp-server-filesystemse expondrán con el prefijoside-project, por ejemplo,side-project_read_file,side-project_write_file. - La ruta raíz se puede ocultar del cliente (por ejemplo, Claude Desktop) utilizando la configuración
pathResolution.
Tenga en cuenta que pathResolution es opcional y solo es necesario si desea ocultar la ruta raíz del cliente.
Su archivo 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"
]
}
}
]
}
Reinicio automático del servidor ante cambios de archivos con fileWatch
Su archivo 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/"
}
}
]
}
Ocultar funciones específicas con la opción hideFunctions
Puede ocultar selectivamente funciones específicas de los servidores envueltos utilizando el array hideFunctions. Esto es útil cuando desea usar un servidor pero restringir el acceso a ciertas funciones potencialmente peligrosas o innecesarias.
El array hideFunctions acepta una lista de nombres de funciones que deben ocultarse del servidor envuelto. Cuando una función está oculta:
- No se registrará con el servidor MCP principal
- No estará disponible para el cliente (por ejemplo, Claude Desktop)
- No aparecerá en la lista de funciones disponibles
Esta característica es particularmente útil para:
- Restringir el acceso a funciones potencialmente peligrosas (por ejemplo,
delete_repositoryen GitHub) - Simplificar la interfaz ocultando funciones de uso poco frecuente
- Crear diferentes niveles de permisos para diferentes instancias 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"
]
}
]
}
En este ejemplo, el servidor de GitHub se iniciará normalmente, pero las funciones create_repository, delete_repository y create_issue estarán ocultas y no disponibles para el cliente.
Deshabilitar servidores específicos con la bandera enabled
Puede deshabilitar selectivamente servidores específicos en su configuración sin eliminarlos del archivo JSON estableciendo la bandera enabled en false. Esto es útil para deshabilitar temporalmente servidores durante el desarrollo o las pruebas.
{
"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"
]
}
]
}
En este ejemplo, el primer servidor (sistema de archivos) se iniciará pero la función write_file ha sido ocultada, el segundo servidor (GitHub) está deshabilitado y no se iniciará.
Ejemplo completo de un archivo multiverse.json
Este ejemplo demuestra cómo crear un servidor multiverse con múltiples instancias de diferentes tipos de servidores.
Tenga en cuenta que pathResolution es opcional y solo es necesario si desea ocultar la ruta raíz del 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"
]
}
}
]
}
Pendientes
- Agregar soporte para
Prompts - Agregar soporte para
Resources - Agregar una interfaz gráfica para gestionar servidores multiverse
Plataformas verificadas
- Windows
- macOS
- Linux
Licencia
MIT