← 返回公开榜单
mc

lamemind/mcp-server-multiverse

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

本周新增
1 星
近 3 周倍数
—
距上次推送
521 天
距上次发布
528 天
许可证
MIT

星标增长

每根柱子是这个周期记录下来的 star 增长:优先取逐个 stargazer 到达时间分桶的到达数,还没被 stargazer 扫描覆盖的仓库改用该周期的 star 净增;两个写者都没记录的周期画成虚线空档,而不是当成 0。柱高按各自窗口的峰值归一,两张图不共用坐标轴。指向任意一根柱子, tooltip 里是该周期的九项指标:当前值与周期内的净增。

指向或点击一根柱子,看当天的九项指标。

12/1712/301/111/242/62/193/33/16

2026 年 2 月 1 日 新增 0 个星标; 2026 年 2 月 14 日 新增 1 个星标; 2026 年 3 月 16 日 新增 1 个星标

窗口内最高的一天是 2026 年 2 月 14 日,新增 1 个星标。

证据时间轴

这个项目还没有记录到异动、发布或许可证变化。

README
该仓库存储的文档,若已生成中文翻译则一并显示

多宇宙MCP服务器

一个中间件服务器,它使多个相同的MCP服务器实例能够独立共存,并拥有独特的命名空间和配置。

多宇宙MCP服务器创建隔离的操作空间,使得相同的MCP服务器可以同时运行而不会发生冲突。每个"宇宙"都维护自己的配置、文件系统访问和函数命名,使开发者能够运行多个相同服务器类型的实例,同时在不同上下文或项目之间保持完全的隔离。

主要特性

运行多个实例

独立并同时运行相同MCP服务器类型的多个实例。每个实例都在自己的隔离宇宙中运行,具有独立的配置。这支持以下场景:

  • 多个指向不同数据库的mcp-server-mysql MySQL服务器
  • 多个具有不同个人访问令牌的mcp-server-git Git服务器
  • 多个访问不同根路径的mcp-server-filesystem 文件系统服务器

自动服务器重启

在开发期间,将您的MCP服务器注册为具有文件监视功能。启用后,服务器会自动检测指定目录的变化并执行优雅重启,使开发和测试变得无缝。

基于JSON的配置系统

使用简单且灵活的JSON配置格式定义您的多宇宙设置。每个服务器实例可以配置自己的:

  • 命令和参数
  • 环境变量
  • 路径解析规则
  • 文件监视设置

安装

首先,确保您已下载并安装了Claude桌面应用,并且已安装npm。

接下来,将以下条目添加到您的claude_desktop_config.json:

  • 在Mac上,位于~/Library/Application\ Support/Claude/claude_desktop_config.json
  • 在Windows上,位于C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json

现在添加您想要运行的多宇宙服务器数量。例如,如果您想运行两个mcp-server-multiverse实例,一个用于您的正式工作,一个用于您的副项目,您可以添加以下配置:

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

此配置允许Claude桌面应用在您启动应用时自动启动mcp-server-multiverse实例。

demo.png

配置示例

创建两个隔离的mcp-server-mysql实例,使用不同的数据库

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

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

创建一个隔离的mcp-server-filesystem实例

  • mcp-server-filesystem的函数将使用side-project前缀暴露,例如side-project_read_file,side-project_write_file。
  • 根路径可以通过使用pathResolution配置隐藏客户端(例如Claude桌面应用)。

注意pathResolution是可选的,并且只有当您想隐藏根路径时才需要。

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

使用fileWatch在文件变化时自动重启服务器

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

使用hideFunctions选项隐藏特定函数

您可以使用hideFunctions数组选择性地隐藏包装服务器中的特定函数。这在您想使用服务器但限制对某些潜在危险或不必要的函数的访问时非常有用。

hideFunctions数组接受一个应从包装服务器中隐藏的函数名称列表。当隐藏函数时:

  • 它不会注册到主MCP服务器
  • 它不会对客户端(例如Claude桌面应用)可用
  • 它不会出现在可用函数列表中

此功能特别适用于:

  • 限制对潜在危险函数的访问(例如GitHub中的delete_repository)
  • 通过隐藏很少使用的函数简化界面
  • 为不同服务器实例创建不同的权限级别
{
  "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"
      ]
    }
  ]
}

在此示例中,GitHub服务器将正常启动,但函数create_repository、delete_repository和create_issue将被隐藏且对客户端不可用。

使用enabled标志禁用特定服务器

您可以通过将enabled标志设置为false来选择性地禁用配置中的特定服务器,而无需从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"
      ]
    }
  ]
}

在此示例中,第一个服务器(文件系统)将启动,但函数write_file已被隐藏,第二个服务器(GitHub)被禁用且不会启动。

multiverse.json文件的完整示例

此示例演示了如何创建具有不同服务器类型多个实例的多宇宙服务器。

注意pathResolution是可选的,并且只有当您想隐藏根路径时才需要。

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

待办事项

  • 添加对Prompts的支持
  • 添加对Resources的支持
  • 添加一个用于管理多宇宙服务器的GUI

验证平台

  • Windows
  • macOS
  • Linux

许可证

MIT

页面上的每个数字都来自记录下来的 stargazer 到达时间,没有评分公式,也没有 AI 判定。 任何结论都可以用 /api/v1/repos/{id}/stats 里的原始增量自己重算。