マルチバース MCP サーバー
同じ MCP サーバーの複数の分離されたインスタンスが、固有の名前空間と構成で独立して共存できるようにするミドルウェア サーバー。
Multiverse MCPサーバーは、同一のMCPサーバーが競合なく同時に実行できる、独立した運用空間を構築します。各「ユニバース」は独自の構成、ファイルシステムへのアクセス、関数の命名規則を維持するため、開発者は異なるコンテキストやプロジェクト間の完全な分離を維持しながら、同じサーバータイプの複数のインスタンスを実行できます。
主な特徴
複数のインスタンスを実行する
同じMCPサーバータイプのインスタンスを複数、独立して同時に実行します。各インスタンスは、それぞれ独立した構成で動作します。これにより、次のようなシナリオが可能になります。
- 複数の MySQL サーバー
mcp-server-mysql
が異なるデータベースを指している - 異なる個人アクセストークンを持つ複数の Git サーバー
mcp-server-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
のインスタンスを2つ実行し、1つはジョブ用、もう1つはサイドプロジェクト用としたい場合は、以下の設定を追加します。
この設定により、Claude Desktop はアプリの起動時にmcp-server-multiverse
インスタンスを自動的に起動できるようになります。
設定例
異なるデータベースを持つmcp-server-mysql
の 2 つの独立したインスタンスを作成します。
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
非表示になっており、2 番目のサーバー (GitHub) は無効になっており、起動しません。
multiverse.json
ファイルの完全な例
この例では、異なるサーバー タイプの複数のインスタンスを備えたマルチバース サーバーを作成する方法を示します。
pathResolution
はオプションであり、クライアントからルート パスを非表示にする場合にのみ必要であることに注意してください。
やること
- [ ]
Prompts
のサポートを追加 - [ ]
Resources
のサポートを追加 - [ ] マルチバースサーバーを管理するためのGUIを追加する
検証済みプラットフォーム
- [x] ウィンドウズ
- [ ] macOS
- [ ] リナックス
ライセンス
マサチューセッツ工科大学
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
同じ MCP サーバーの複数の分離されたインスタンスが、固有の名前空間と構成で独立して共存できるようにするミドルウェア サーバー。
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityA MCP Server used to collect MCP Servers over the internet.Last updated -318Python
- -securityAlicense-qualityMCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.Last updated -132TypeScriptMIT License
- AsecurityAlicenseAqualityA central hub that aggregates multiple MCP resource servers into a single unified interface, enabling users to access tools and capabilities from multiple backend servers through one connection point.Last updated -30TypeScriptMIT License
- -security-license-qualityProxy that aggregates multiple MCP servers and presents them as a unified interface, allowing clients to access resources from multiple servers transparently.Last updated -1TypeScript