ドキュメント · MCP ルーター
MCP ルーター
magpie の ライブラリ に追加した MCP サーバーは、通常はサーバーごとに一つずつ、各エージェントの設定に書き込まれます。MCP ルーター をオンにすると、各エージェントには代わりに magpie という一つのサーバーだけが渡され、magpie が各呼び出しを裏のライブラリのサーバーに渡します。既定ではオフです。
- 設定は一度。ライブラリで一度書いたサーバーが、一つのエントリですべてのエージェントとアプリに届きます。
- 動かすのも一度。コマンドのサーバー(
npx …のようにプログラムとして起動するもの)は、エージェントごとではなく magpie の中で一つだけ動きます。10 分間呼び出しのないサーバーは止まり、次の呼び出しでまた起動します。 - ほかのアプリには一つのアドレス。Cursor、VS Code、Windsurf、別のコンピュータのアプリも magpie に接続すれば、ライブラリのすべてのサーバーを使えます。
ツールはエージェントに サーバー__ツール として見えます。提供するのはツールだけ(resources と prompts はなし)で、ライブラリでオフにしたツールは一覧にも出ず、実行もされません。
オンにする
- ページを開くライブラリ → MCP を開きます。
- スイッチを入れるサーバー一覧の下の MCP ルーター をオンにします。ライブラリのサーバーにチェックが入っていて、HTTP(Streamable HTTP)でサーバーにつなげるエージェントには、magpie のゲートウェイの
/mcp/magpie/hub/<agent>を指すmagpieエントリが一つ渡され、それらのサーバーの個別のエントリは設定から外されます。 - エージェントを再起動エージェントは次に起動したときに変更を読みます。
オフにすると、各サーバーの個別のエントリが書き戻され、magpie が書いた magpie エントリだけが外れ、ルーターが起動したサーバーはすべて止まります。コマンドラインでは:
magpie library mcp router on magpie library mcp router off
magpie library で、ルーターを渡されたエージェントと個別のエントリを残すエージェントが、理由とともに一覧できます。
ほかのアプリ
ルーターがオンのとき、ほかのアプリ の行に /mcp/magpie/hub で終わるアドレスが出ます。ここではライブラリのすべてのサーバーを提供します。接続… を押すと、Cursor、VS Code、Windsurf、JSON の MCP 設定を受け付けるアプリ向けのエントリがコピーできるシートが開きます。アプリのウィンドウでは、Cursor と VS Code には 追加 もあり、そのアプリが開いて確認を求めます。別のコンピュータのアプリには、ネットワークからのほかのリクエストと同じくゲートウェイのキーが必要です(リモート magpie を参照)。
自分のエントリを残すエージェント
次のエージェントは各サーバーの個別のエントリを残し、ライブラリのページにどれがなぜかが表示されます:
- リモートのサーバーを使えない。Claude Desktop のように、HTTP で MCP サーバーにつなげないエージェント。
- magpie という名前のサーバーがある。ライブラリのサーバーの一つが
magpieという名前で、名前がぶつかります。 - 自分の magpie エントリがある。エージェントに magpie が書いたのではない
magpieエントリがすでにあり、そのまま残します。
使いどころ
- オンにするとよいとき:いくつものエージェントで同じサーバーを使う、コマンドのサーバーがエージェントごとに何個も起動している、エディタや別のコンピュータからもライブラリを使いたい。
- オフのままでよいとき:エージェントは一つだけ、各エージェントにサーバーへ直接つないでほしい、ネットワーク上のほかの人にコマンドのサーバーを触れさせたくない。呼び出しはすべて magpie を通るので、magpie が動いている必要があります。