Back to MCP Catalog

Multiverse Server MCP Server

Developer ToolsTypeScript
A middleware server that enables multiple isolated instances of MCP servers to run simultaneously

Multiverse 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. With Multiverse, you can run multiple instances of the same MCP server type independently, each with its own configuration. This solves the common problem of needing to work with multiple databases, repositories, or file systems within the same Claude session.

Overview

Multiverse Server is a powerful middleware solution that allows you to run multiple instances of the same MCP servers simultaneously, each in its own isolated environment. This is particularly useful when you need to work with multiple databases, repositories, or file systems within the same Claude session.

Key Features

  • Run Multiple Instances: Run multiple instances of the same MCP server type independently and simultaneously, each with its own configuration.
  • Automatic Server Restart: Servers can be configured to automatically restart when changes are detected in specified directories, making development and testing seamless.
  • JSON-based Configuration: Define your multiverse setup using a simple and flexible JSON configuration format.
  • Function Prefixing: Each server instance can have its own function prefix to avoid naming conflicts.
  • Path Resolution: Hide full paths from clients for better security and abstraction.
  • Selective Function Hiding: Hide specific functions from wrapped servers to restrict access or simplify interfaces.

Installation

  1. Ensure you've downloaded and installed the Claude Desktop app or another compatible MCP client.

  2. Add an entry to your client's configuration file. For Claude Desktop, this is located at:

    • Mac: ~/Library/Application\ Support/Claude/claude_desktop_config.json
    • Windows: C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json
  3. Create a configuration file for each multiverse you want to run (see examples below).

Configuration Examples

Basic Configuration

Create a file named my-multiverse.json with the following structure:

{
  "serverName": "MyMultiverse",
  "functionsPrefix": "my",
  "servers": [
    {
      "command": "npx",
      "args": [
        "-y",
        "@some-package/mcp-server-example"
      ],
      "env": {
        "EXAMPLE_VAR": "value"
      }
    }
  ]
}

Multiple MySQL Servers Example

To run two MySQL servers pointing to different databases:

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

And in a separate file for your side project:

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

Filesystem Server with Path Resolution

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

Auto-Restart on File Changes

{
  "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

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

Usage

Once configured, the Multiverse Server will start the specified MCP servers and expose their functions with the configured prefixes. For example, if you have a MySQL server with the prefix "job", you would call its functions like job_query, job_execute, etc.

The functions from each server are isolated from each other, allowing you to work with multiple instances of the same server type without conflicts.

Related MCPs

Apple Shortcuts
Developer ToolsJavaScript

Control Apple Shortcuts automations from AI assistants

Clojars Dependency Lookup
Developer ToolsJavaScript

Fetch dependency information from Clojars, the Clojure community's artifact repository

Simple Timeserver
Developer ToolsPython

Provides Claude with current time and timezone information

About Model Context Protocol

Model Context Protocol (MCP) allows AI models to access external tools and services, extending their capabilities beyond their training data.

Generate Cursor Documentation

Save time on coding by generating custom documentation and prompts for Cursor IDE.