LABSCO SUMMARY
Same server, many isolated copies.
The problem it solves is narrow and real: point two instances of one server at two databases and their tools collide by name and their scopes bleed together. Prefixing every function per universe fixes the collision, and hideFunctions doubles as a safety valve — you can register a GitHub server with delete_repository simply absent from what the client can call. Platform coverage is honest in the README: verified on Windows, unverified elsewhere.
What it is
A middleware MCP server that wraps other MCP servers so identical ones can run at once. Each wrapped instance lives in its own "universe" with a separate configuration, filesystem scope and function-name prefix, defined in a JSON file.
What you get
- Multiple instances of one server type running together — two
mcp-server-mysqlpointed at different databases, twomcp-server-gitwith different tokens, two filesystem servers on different roots - A function-name prefix per universe (
functionsPrefix), soread_filefrom one instance and another never clash as the client sees them - A root path hidden from the client through
pathResolution, rewriting the arguments named inapplyTo - Automatic graceful restart on file changes for a server under development, via
fileWatch - Specific functions hidden from a wrapped server with
hideFunctions— for example removingdelete_repositoryfrom a GitHub instance - An instance left in the config but switched off with
enabled: false
Requirements
Node and npm, and the Claude Desktop app for the documented setup. Each multiverse is added to claude_desktop_config.json as an npx -y @lamemind/mcp-server-multiverse@latest entry pointed at your universe JSON file. The package is @lamemind/mcp-server-multiverse at 1.1.4. The README marks Windows as verified; macOS and Linux are listed but unchecked. Prompts and Resources are on the to-do list, not yet supported.
Setup effort
One command — npx -y @lamemind/mcp-server-multiverse@latest <YOUR_PATH_TO_JOB_MULTIVERSE>
USE CASES
01
Keeping work and side-project databases apart
Run two MySQL server instances under different prefixes so the client addresses each database's tools without them mixing.
02
Removing a dangerous function from a server
Wrap the GitHub server with delete_repository in hideFunctions, so it never appears to the client at all.
03
Hiding a filesystem root from the model
Use pathResolution so the client works in relative paths while the real root stays out of its view.
04
Iterating on a server you are building
Turn on fileWatch so the wrapped instance restarts gracefully whenever its build directory changes.
BEFORE YOU INSTALL
What to know first
Requires
npx on PATH
INSTALLATION
Connect your client
Server setup
TERMINAL
npx -y @lamemind/mcp-server-multiverse@latest <YOUR_PATH_TO_JOB_MULTIVERSE>MCP Clients
Claude Desktop
CLAUDE DESKTOP · JSON
{
"mcpServers": {
"job-multiverse": {
"command": "npx",
"args": [
"-y",
"@lamemind/mcp-server-multiverse@latest",
"<YOUR_PATH_TO_JOB_MULTIVERSE>"
]
},
"side-project-multiverse": {
"command": "npx",
"args": [
"-y",
"@lamemind/mcp-server-multiverse@latest",
"<YOUR_PATH_TO_SIDE_PROJECT_MULTIVERSE>"
]
}
}
}