Multiverse MCP Server

Multiverse MCP Server

Run Multiple Isolated MCP Server Instances with Unique Contexts

74
Stars
14
Forks
74
Watchers
6
Issues
Multiverse MCP Server acts as middleware, enabling multiple isolated instances of MCP-compatible servers to run simultaneously with unique configurations and namespaces. Each instance, or 'universe', maintains its own settings, environment variables, and file system access. Integrating with Claude Desktop, it provides seamless management and automatic restarts of MCP servers, supporting flexible, context-specific workflows for different projects.

Key Features

Run multiple isolated instances of the same MCP server type
Unique configuration and namespace for each instance
JSON-based flexible configuration system
Automatic file watching and server restart for development
Per-instance environment variable setup
Path resolution rules per universe
Seamless integration with Claude Desktop
Supports diverse MCP servers (e.g., MySQL, Git, filesystem)
Separation of file system access across instances
Command-line driven setup for each operational context

Use Cases

Running multiple MCP servers for different projects or clients
Isolating database access for work and personal tasks
Managing separate Git server instances with unique credentials
Automating MCP server restarts during active development
Configuring secure, per-instance filesystem operations
Providing isolated operational contexts to avoid conflicts
Enabling multi-user or multi-project server setups via Claude Desktop
Developing and testing MCP servers with seamless restart and config switching
Maintaining compartmentalized server environments within the same infrastructure
Simplifying context switching for users working across different domains

README

Multiverse MCP Server

A middleware server that enables multiple isolated instances of the same MCP servers to coexist independently with unique namespaces and configurations.

The Multiverse MCP Server creates isolated operational spaces where identical MCP servers can run simultaneously without conflicts. Each "universe" maintains its own configuration, filesystem access, and function naming, enabling developers to run multiple instances of the same server type while maintaining complete separation between different contexts or projects.

Key Features

Run Multiple Instances

Run multiple instances of the same MCP server type independently and simultaneously. Each instance operates in its own isolated universe with separate configurations. This enables scenarios like:

  • Multiple MySQL servers mcp-server-mysql pointing to different databases
  • Multiple Git servers mcp-server-git with different Personal Access Tokens
  • Multiple filesystem servers mcp-server-filesystem accessing different root paths

Automatic Server Restart

Register your MCP server with file watching capability during development. When enabled, the server automatically detects changes in the specified directory and performs a graceful restart, making development and testing seamless.

JSON-based Configuration System

Define your multiverse setup using a simple and flexible JSON configuration format. Each server instance can be configured with its own:

  • Command and arguments
  • Environment variables
  • Path resolution rules
  • File watching settings

Installation

First, ensure you've downloaded and installed the Claude Desktop app and you have npm installed.

Next, add this entry to your claude_desktop_config.json

  • on Mac, found at ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • on Windows, found at C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json

Now add how many multiverse servers you want to run. For example, if you want to run two instances of mcp-server-multiverse, one for your job and one for your side project, you can add the following configuration:

json
{
  "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"
      ]
    }
  }
}

This config allows Claude Desktop to automatically start the mcp-server-multiverse instances when you start the app.

demo.png

Configuration Examples

Create two isolated instances of mcp-server-mysql with different databases

Your job-multiverse.json file

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"
      }
    }
  ]
}

Your side-project-multiverse.json file

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"
      }
    }
  ]
}

Create an isolated instance of mcp-server-filesystem

  • The mcp-server-filesystem's functions will be exposed with side-project prefix, e.g. side-project_read_file, side-project_write_file.
  • The root path can be hidden from the client (e.g. Claude Desktop) by using the pathResolution configuration.

Note that pathResolution is optional and is only needed if you want to hide the root path from the client.

Your multiverse.json file

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"
        ]
      }
    }
  ]
}

Automatic server restart on file changes with fileWatch

Your multiverse.json file

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/"
      }
    }
  ]
}

Hiding specific functions with the hideFunctions option

You can selectively hide specific functions from wrapped servers using the hideFunctions array. This is useful when you want to use a server but restrict access to certain potentially dangerous or unnecessary functions.

The hideFunctions array accepts a list of function names that should be hidden from the wrapped server. When a function is hidden:

  • It won't be registered with the main MCP server
  • It won't be available to the client (e.g., Claude Desktop)
  • It won't appear in the list of available functions

This feature is particularly useful for:

  • Restricting access to potentially dangerous functions (e.g., delete_repository in GitHub)
  • Simplifying the interface by hiding rarely used functions
  • Creating different permission levels for different server instances
JSON
{
  "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"
      ]
    }
  ]
}

In this example, the GitHub server will start normally, but the functions create_repository, delete_repository, and create_issue will be hidden and unavailable to the client.

Disabling specific servers with the enabled flag

You can selectively disable specific servers in your configuration without removing them from the JSON file by setting the enabled flag to false. This is useful for temporarily disabling servers during development or testing.

JSON
{
  "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"
      ]
    }
  ]
}

In this example, the first server (filesystem) will start but the function write_file has been hidden, the second server (GitHub) is disabled and won't be started.

Full example of a multiverse.json file

This example demonstrates how to create a multiverse server with multiple instances of different server types.

Note that pathResolution is optional and is only needed if you want to hide the root path from the client.

JSON
{
  "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"
        ]
      }
    }
  ]
}

To Do

  • Add support for Prompts
  • Add support for Resources
  • Add a GUI for managing multiverse servers

Verified Platforms

  • Windows
  • macOS
  • Linux

License

MIT

Star History

Star History Chart

Repository Owner

lamemind
lamemind

User

Repository Details

Language TypeScript
Default Branch master
Size 134 KB
Contributors 1
License MIT License
MCP Verified Nov 12, 2025

Programming Languages

TypeScript
96.24%
JavaScript
3.76%

Tags

Join Our Newsletter

Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.

We respect your privacy. Unsubscribe at any time.

Related MCPs

Discover similar Model Context Protocol servers

  • File Merger MCP Server

    File Merger MCP Server

    Efficiently and securely merge multiple files through an MCP-compatible server.

    File Merger MCP Server is a utility that enables fast and secure merging of multiple files into a single output using a standardized MCP server interface. It provides detailed merge summaries, enforces directory access restrictions for enhanced security, and exposes tools for file merging and directory listing via MCP-compatible API endpoints. Designed for integration with systems like Claude Desktop, it streamlines file combination tasks while maintaining strict directory access controls.

    • 23
    • MCP
    • exoticknight/mcp-file-merger
  • Memcord

    Memcord

    Privacy-first, self-hosted chat memory and context management for Claude and AI applications.

    Memcord serves as a self-hosted MCP (Model Context Protocol) server that enables users to securely organize, summarize, and search through their chat history with AI, especially for Claude, without compromising privacy. It offers intelligent memory management, conversation auto-summarization, deduplication, and context merging to build a searchable knowledge base across multiple conversations. Memcord also integrates seamlessly with Claude Desktop, VSCode, and supports various installation methods for flexibility.

    • 18
    • MCP
    • ukkit/memcord
  • Jupiter MCP

    Jupiter MCP

    A Model Context Protocol server for fast swaps and limit orders on Solana using Jupiter API.

    Jupiter MCP provides a Model Context Protocol (MCP) server that integrates with Solana's Jupiter API, enabling both immediate swaps via Ultra API and limit orders via Trigger API. It offers easy installation options, including a pre-built desktop extension and automated environment variable handling for secure key management. The tool supports multiple configuration approaches, allowing for quick deployment through Claude Desktop or integration with MCP clients via direct installation links or .env files.

    • 0
    • MCP
    • araa47/jupiter-mcp
  • OpsLevel MCP Server

    OpsLevel MCP Server

    Read-only MCP server for integrating OpsLevel data with AI tools.

    OpsLevel MCP Server implements the Model Context Protocol to provide AI tools with a secure way to access and interact with OpsLevel account data. It supports read-only operations for a wide range of OpsLevel resources such as actions, campaigns, checks, components, documentation, domains, and more. The tool is compatible with popular environments including Claude Desktop and VS Code, enabling easy integration via configuration and API tokens. Installation options include Homebrew, Docker, and standalone binaries.

    • 8
    • MCP
    • OpsLevel/opslevel-mcp
  • docker-mcp

    docker-mcp

    A powerful MCP server for seamless Docker container and compose stack management.

    docker-mcp is a Model Context Protocol (MCP) server that enables robust Docker container and compose stack management via Claude AI. It offers easy installation through Smithery or manual setup, supporting container creation, Docker Compose stack deployment, log retrieval, and monitoring. Integration with the Claude Desktop app is straightforward, and the included MCP Inspector aids debugging. This tool simplifies Docker operations for automation and AI model interactions.

    • 419
    • MCP
    • QuantGeekDev/docker-mcp
  • Pica MCP Server

    Pica MCP Server

    A Model Context Protocol (MCP) server for seamless integration with 100+ platforms via Pica.

    Pica MCP Server provides a standardized Model Context Protocol (MCP) interface for interaction with a wide range of third-party services through Pica. It enables direct platform integrations, action execution, and intelligent intent detection while prioritizing secure environment variable management. The server also offers features such as code generation, form and data handling, and robust documentation for platform actions. It supports multiple deployment methods, including standalone, Docker, Vercel, and integration with tools like Claude Desktop and Cursor.

    • 8
    • MCP
    • picahq/mcp
  • Didn't find tool you were looking for?

    Be as detailed as possible for better results