local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Provides filesystem access through the server-filesystem component, allowing controlled access to specified directories with path resolution capabilities.
Provides Git server functionality with multiple isolated instances, each potentially using different repositories or configurations.
Enables GitHub integration with capabilities to interact with repositories, issues, and more, while allowing selective function hiding for repository operations.
多元宇宙 MCP 服务器
中间件服务器允许同一 MCP 服务器的多个隔离实例以独特的命名空间和配置独立共存。
Multiverse MCP 服务器创建了独立的运行空间,相同的 MCP 服务器可以同时运行而不会发生冲突。每个“Universe”都维护自己的配置、文件系统访问和功能命名,使开发人员能够运行同一服务器类型的多个实例,同时保持不同上下文或项目之间的完全隔离。
主要特点
运行多个实例
独立且同时运行同一 MCP 服务器类型的多个实例。每个实例在其独立的环境中运行,并采用独立的配置。这可以实现以下场景:
- 多个 MySQL 服务器
mcp-server-mysql
指向不同的数据库 - 具有不同个人访问令牌的多个 Git 服务器
mcp-server-git
- 多个文件系统服务器
mcp-server-filesystem
访问不同的根路径
自动服务器重启
在开发过程中为您的 MCP 服务器注册文件监视功能。启用后,服务器会自动检测指定目录中的更改并执行平滑重启,从而实现无缝开发和测试。
基于 JSON 的配置系统
使用简单灵活的 JSON 配置格式定义你的多元宇宙设置。每个服务器实例都可以配置自己的:
- 命令和参数
- 环境变量
- 路径解析规则
- 文件监视设置
安装
首先,确保您已经下载并安装了Claude Desktop 应用程序,并且已经安装了 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
现在添加您想要运行的 Multiverse 服务器数量。例如,如果您想运行两个mcp-server-multiverse
实例,一个用于您的工作,一个用于您的辅助项目,您可以添加以下配置:
此配置允许 Claude Desktop 在您启动应用程序时自动启动mcp-server-multiverse
实例。
配置示例
使用不同的数据库创建两个独立的mcp-server-mysql
实例
你的job-multiverse.json
文件
您的side-project-multiverse.json
文件
创建mcp-server-filesystem
的独立实例
mcp-server-filesystem
的功能将通过side-project
前缀公开,例如side-project_read_file
、side-project_write_file
。- 可以使用
pathResolution
配置向客户端(例如 Claude Desktop)隐藏根路径。
请注意, pathResolution
是可选的,仅当您想向客户端隐藏根路径时才需要。
您的multiverse.json
文件
使用fileWatch
在文件更改时自动重启服务器
您的multiverse.json
文件
使用hideFunctions
选项隐藏特定函数
你可以使用hideFunctions
数组选择性地隐藏包装服务器中的特定函数。当你想使用服务器但又想限制某些潜在危险或不必要的函数的访问时,这非常有用。
hideFunctions
数组接受一个函数名列表,这些函数名应该对包装服务器隐藏。隐藏函数时:
- 它不会在主 MCP 服务器上注册
- 客户端(例如 Claude Desktop)将无法使用它
- 它不会出现在可用功能列表中
此功能对于以下情况特别有用:
- 限制对潜在危险功能的访问(例如 GitHub 中的
delete_repository
) - 通过隐藏不常用的功能来简化界面
- 为不同的服务器实例创建不同的权限级别
在这个例子中,GitHub 服务器将正常启动,但是函数create_repository
、 delete_repository
和create_issue
将被隐藏并且客户端不可用。
使用enabled
标志禁用特定服务器
您可以通过将enabled
标志设置为false
来选择性地禁用配置中的特定服务器,而无需将其从 JSON 文件中删除。这对于在开发或测试期间暂时禁用服务器非常有用。
在这个例子中,第一个服务器(文件系统)将启动,但函数write_file
已被隐藏,第二个服务器(GitHub)被禁用并且不会启动。
multiverse.json
文件的完整示例
此示例演示如何创建具有多个不同服务器类型实例的多元服务器。
请注意, pathResolution
是可选的,仅当您想向客户端隐藏根路径时才需要。
待办事项
- [ ] 添加对
Prompts
支持 - [ ] 添加对
Resources
的支持 - [ ] 添加用于管理多元宇宙服务器的 GUI
已验证的平台
- [x] Windows
- [ ] macOS
- Linux
执照
麻省理工学院
This server cannot be installed
中间件服务器允许同一 MCP 服务器的多个隔离实例以独特的命名空间和配置独立共存。
- Key Features
- Installation
- Configuration Examples
- Create two isolated instances of mcp-server-mysql with different databases
- Create an isolated instance of mcp-server-filesystem
- Automatic server restart on file changes with fileWatch
- Hiding specific functions with the hideFunctions option
- Disabling specific servers with the enabled flag
- Full example of a multiverse.json file
- To Do
- Verified Platforms
- License