mcpField
M
McpOrchestrator

McpOrchestrator

ローカル
github.comAI・エージェント21 週間前に更新

McpOrchestrator について

McpOrchestratorは、エージェントと複数の下流MCPサーバーを中継する.NET製MCPサーバーです。ツール定義を必要に応じて検出して常時のコンテキストを抑え、Agent Skillsもオンデマンドで提供します。

主な機能

  1. 01機能の検出とルーティングによるリクエスト中継
  2. 02下流ツール定義のオンデマンド読み込み
  3. 03設定変更のホットリロード
  4. 04ディレクトリ、Git、HTTPのスキルソース
  5. 05設定初期化とコンテキスト使用量の分析

活用シーン

  1. 01複数のMCPサーバーを単一の接続先に集約
  2. 02事前読み込みするツール定義のコンテキスト削減
  3. 03タスクに応じたスキル指示の提供

MCP 対応

McpOrchestratorは複数の下流サーバーに接続するMCPサーバーです。エージェントは`list_capabilities`、`discover_tools`、`route`を使って段階的にツールを発見・呼び出し、Agent Skillsもオンデマンドで利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
nugetMcpOrchestrator0.7.6

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

McpOrchestrator — エージェントとすべての MCP サーバーをつなぐ単一のリレー

McpOrchestrator — .NET ネイティブの MCP オーケストレーター

NuGet Downloads License: MIT

MCP サーバーを接続するたびに、エージェントが何かをする前からコンテキストを消費します。ツールのマニフェストは、すべてのターンでプロンプトに含まれます。 McpOrchestrator は、エージェントとほかのすべてのサーバーの間に 1 つのサーバーを置き、下流のツールマニフェストを必要に応じて読み込みます。そのため、サーバーをいくつ追加しても、エージェントが常に保持するコンテキスト量は変わりません。エージェントから見えるのは 3 つのメタツール、list_capabilities → discover_tools → route です。オーケストレーターは純粋なリレーとして、エージェントから送られた内容をそのまま転送し、決して解釈しません。同じオンデマンド方式で**Agent Skills**を提供することもできます。

70 秒で見る

https://github.com/user-attachments/assets/741c1afa-4bef-4870-9b84-e2c245b8117e

実測した効果

実際の職場の MCP 構成で、Copilot CLI の /usage を使って測定しました。

コンテキスト内のトークン数
MCP を直接接続(マニフェストを事前に読み込み)17,900
同じ MCP を McpOrchestrator 経由で接続1,400
削減率約 13 倍

削減量はサーバー数に応じて増えます。まずはご自身の構成で測定してみてください。コマンド 1 つで、インストール不要、ファイル変更も一切ありません(.NET SDK が必要です)。

cd ~/my-project          # a folder with a .mcp.json / .vscode/mcp.json / Cursor config
dotnet tool execute McpOrchestrator profile

クイックスタート

既存の MCP 構成から始めます。ホスト設定(.mcp.json、.vscode/mcp.json、または Cursor の設定)があるフォルダーに cd して、次を実行します。

dotnet tool execute McpOrchestrator --yes init      # dnx McpOrchestrator --yes init  works too

stdio サーバーを生成された orchestrator.config.json に移し、ホスト設定をバックアップしたうえで、オーケストレーターのみを起動するように書き換えます。生成されるカタログは次のようになります。下流サーバーごとにエントリが 1 つあります。

{
  "capabilities": [
    {
      "name": "files",
      "summary": "Read and search files under the project root.", // auto-generated
      "transport": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "C:/projects"]
    }
    // …one entry per server init found
  ]
}

summary の行は、エージェントがルーティングに使う説明です。わかりにくいものは書き直してください。MCP ホストを再起動すれば完了です。エージェントは list_capabilities → discover_tools → route を通じてすべてを自動で検出します。また、このファイルへの以降の変更は、再起動なしでホットリロードされます。

スキルを追加する

スキルは SKILL.md を含むフォルダーで、タスクに合致したときにエージェントが自ら検出して従う指示です。次のように作成します。

my-skills/
└── release-notes/
    └── SKILL.md
---
name: release-notes
description: Writes user-facing release notes from a git commit range. Use when asked for release notes or a changelog entry.
---

1. Collect the commits since the last release tag.
2. Group by user impact; drop internal-only changes.
3. One sentence per change, present tense.

orchestrator.config.json で、このフォルダーをオーケストレーターに指定します。

"skills": {
  "sources": [{ "id": "local", "type": "directory", "path": "C:/my-skills" }]
}

保存するとホットリロードされます。エージェントは list_skills を通じてスキル名と 1 行の説明を確認し、タスクに必要な場合にのみ指示の全文を読み込みます。スキルは共有 git リポジトリや HTTP インデックスから取得することもでき、許可・拒否リストや整合性の固定にも対応しています。詳しくはdocs/skills.mdをご覧ください。

注:これらのスキルはエージェント専用です。モデルはツールを通じてスキルを検出し、それに従います。ホストネイティブのスキルにはなりません(Claude Code の /skills 一覧やスラッシュコマンド、IDE のスキル選択項目には表示されません)。

ドキュメント

その他の内容は、McpOrchestrator/README.md と docs/ にあります。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。