使用说明
项目简介
lamemind-mcp-server-multiverse (Multiverse MCP Server) 是一个用于管理和运行多个独立MCP服务器实例的中间层服务器。它允许您在同一个环境中同时运行多个相同类型但配置不同的MCP服务器,例如,您可以同时运行多个MySQL MCP服务器,分别连接到不同的数据库。每个实例都在其独立的“宇宙”中运行,互不干扰,非常适合需要隔离不同项目或上下文的场景。
主要功能点
- 多实例运行: 支持同时运行多个相同MCP服务器类型的独立实例,每个实例拥有独立的配置和命名空间。
- 自动重启: 在开发模式下,可以配置文件监控,当指定目录下的文件发生变化时,服务器可以自动优雅重启,方便开发和测试。
- JSON配置: 使用灵活的JSON格式进行配置,可以为每个服务器实例定义命令、参数、环境变量、路径解析规则和文件监控设置。
安装步骤
- 安装 Claude Desktop 应用: 确保您已下载并安装了 Claude Desktop app。
- 安装 npm: 确保您的系统已安装 npm (Node Package Manager)。
- 配置 'claude_desktop_config.json':
- 打开 'claude_desktop_config.json' 文件。该文件通常位于:
- macOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
- Windows: 'C:\Users<username>\AppData\Roaming\Claude\claude_desktop_config.json'
- 在 'mcpServers' 字段下添加配置信息,以启动 'lamemind_mcp-server-multiverse'。
- 打开 'claude_desktop_config.json' 文件。该文件通常位于:
服务器配置
在 'claude_desktop_config.json' 中,您需要配置 'lamemind_mcp-server-multiverse' 的启动命令和参数。以下是一个配置示例,用于启动两个 'lamemind_mcp-server-multiverse' 实例,分别用于 "job" 和 "side-project" 场景。
{ "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" ] } } }
参数说明:
- '"job-multiverse"' 和 '"side-project-multiverse"': 是您为每个 multiverse 服务器实例定义的名称,可以自定义。
- '"command": "npx"': 指定启动命令为 'npx',用于执行 npm 包。
- '"args"': 参数数组,包含:
- '"-y"': 'npx' 的参数,表示自动确认安装包。
- '"@lamemind/mcp-server-multiverse@latest"': 指定要运行的 npm 包为 '@lamemind/mcp-server-multiverse' 的最新版本。
- '"/path/to/your/job-multiverse.json"' 和 '"/path/to/your/side-project-multiverse.json"': 分别是 "job" 和 "side-project" 实例的配置文件路径。您需要创建这两个 '.json' 文件,并根据您的需求配置内部的 MCP 服务器。
'multiverse.json' 配置文件示例:
'multiverse.json' 文件用于配置 'lamemind_mcp-server-multiverse' 内部管理的 MCP 服务器实例。以下是一个示例,配置了两个 'mcp-server-mysql' 实例,分别连接到不同的 MySQL 数据库:
{ "serverName": "MyMultiverseServer", "functionsPrefix": "my_prefix", "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": "db1" } }, { "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": "db2" } } ] }
参数说明:
- '"serverName": "MyMultiverseServer"': Multiverse 服务器的名称,用于标识该服务器。
- '"functionsPrefix": "my_prefix"': 所有被代理的 MCP 服务器的功能函数的前缀。例如,如果被代理的 MySQL 服务器有一个 'query' 功能,则通过 Multiverse 服务器访问时,功能名称将变为 'my_prefix_query'。
- '"servers"': 一个数组,包含要管理的 MCP 服务器实例的配置。每个元素代表一个服务器实例,包含以下字段:
- '"command"' 和 '"args"': 与 'claude_desktop_config.json' 中的含义相同,用于指定被代理的 MCP 服务器的启动命令和参数。
- '"env"': 环境变量,可以用于配置被代理的 MCP 服务器,例如数据库连接信息。
基本使用方法
- 根据您的需求创建并配置 'multiverse.json' 文件,指定要管理的 MCP 服务器实例。
- 修改 'claude_desktop_config.json' 文件,添加 'lamemind_mcp-server-multiverse' 的配置,指向您创建的 'multiverse.json' 文件。
- 启动 Claude Desktop 应用。Claude Desktop 将会自动启动配置的 'lamemind_mcp-server-multiverse' 服务器,并加载您在 'multiverse.json' 中配置的 MCP 服务器实例。
- 在 Claude Desktop 或其他 MCP 客户端中,您可以使用带有 '"functionsPrefix"' 前缀的功能名称来调用被代理的 MCP 服务器的功能。
信息
分类
开发者工具