Multiverse MCP Server

Multiverse MCP Server

site icon
2025.02.17 0
TypeScript中间件服务器隔离多实例管理开发效率
Multiverse MCP Server 是一个中间件服务器,允许多个相同类型的 MCP 服务器实例在独立的命名空间和配置下共存。它为每个实例创建隔离的操作空间,使得相同的 MCP 服务器可以同时运行而不会产生冲突。每个“宇宙”维护自己的配置、文件系统访问和函数命名,使开发者能够在不同的上下文或项目中运行多个相同类型的服务器实例,同时保持完全分离。
View on GitHub

Overview

基本能力

产品定位

Multiverse MCP Server 是一个中间件服务器,旨在为开发者提供在同一环境中运行多个相同类型的 MCP 服务器实例的能力,同时保持各实例之间的完全隔离。

核心功能

  1. 运行多个实例:支持同时运行多个相同类型的 MCP 服务器实例,每个实例在独立的“宇宙”中运行,拥有独立的配置。
  2. 自动服务器重启:在开发过程中,支持文件监视功能,当检测到指定目录中的更改时,服务器会自动进行优雅重启。
  3. 基于 JSON 的配置系统:使用简单灵活的 JSON 格式定义多宇宙设置,每个服务器实例可以配置自己的命令、参数、环境变量、路径解析规则和文件监视设置。

适用场景

  • 运行多个 MySQL 服务器实例,每个实例指向不同的数据库。
  • 运行多个 Git 服务器实例,每个实例使用不同的个人访问令牌。
  • 运行多个文件系统服务器实例,每个实例访问不同的根路径。

使用教程

使用依赖

  1. 确保已下载并安装 Claude Desktop 应用
  2. 确保已安装 npm。

安装教程

  1. claude_desktop_config.json 文件中添加多宇宙服务器的配置。
  2. Mac 路径:~/Library/Application\ Support/Claude/claude_desktop_config.json
  3. Windows 路径:C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json
  4. 添加多宇宙服务器的配置示例: 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" ] } } }

调试方式

  1. 启动 Claude Desktop 应用,多宇宙服务器实例将自动启动。
  2. 检查日志文件以确认服务器实例是否成功启动。
  3. 使用客户端工具(如 Claude Desktop)测试各实例的功能是否正常。

配置示例

运行两个隔离的 mcp-server-mysql 实例

  • job-multiverse.json 文件配置: 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 文件配置: 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 实例

  • multiverse.json 文件配置: 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" ] } } ] }

文件监视自动重启

  • multiverse.json 文件配置: 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/" } } ] }

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。