McpOrchestrator

io.github.ByggarepopPublished by GitHub account Byggarepopv0.7.6Updated Oct 24, 2026

Route one agent through one MCP server to many, with progressive tool discovery to shrink context.

VerifiedSTDIODesktop onlyDeveloper ToolsAI & ML

Overview

AI-generated overview

A .NET MCP orchestrator that sits between an agent and many downstream MCP servers, loading their tool manifests on demand to keep context small.

What you can do
  • Discover downstream servers and their capabilities through a meta-tool listing
  • Search and load tool definitions only when a task needs them, then route calls to the right server
  • Act as a pure relay that forwards the agent's requests to downstream servers unchanged
  • Serve Agent Skills from local folders, git repos or HTTP indexes, exposing names and one-line descriptions first
  • Profile token usage of an existing MCP setup and generate an orchestrator config from a host config
When to use it
Useful when an agent connects to several MCP servers and their tool manifests consume too much context every turn, or when you want one entry point that discovers tools and skills on demand instead of listing everything upfront.
Requirements
Runs locally over stdio as a .NET tool (NuGet package McpOrchestrator); the .NET SDK is needed for the profiling command. Setup reads an existing host config such as .mcp.json, .vscode/mcp.json or a Cursor config, and downstream stdio servers are launched by the orchestrator from a generated orchestrator.config.json. No authentication, environment variables or headers are declared.
Before you install
The init command rewrites your MCP host config, though it backs the original up first; review the generated config and the auto-generated capability summaries the agent routes on. Downstream servers are launched with the commands and arguments recorded in that file, so check them before use. Skills pulled from git or HTTP sources should be governed with allow/deny lists and integrity pinning.

Installation

In SourceWeft

  1. Open McpOrchestrator in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[McpOrchestrator — one relay between your agent and every MCP server]

McpOrchestrator — a .NET-native MCP orchestrator

[NuGet] [Downloads] [License: MIT]

Every MCP server you connect costs context before the agent does anything — its tool manifests sit in the prompt on every turn. McpOrchestrator puts one server between your agent and all the others and loads downstream tool manifests on demand, so the agent's always-on context stays flat no matter how many servers you add. The agent sees three meta-tools — list_capabilities → discover_tools → route — and the orchestrator is a pure relay: it forwards exactly what the agent sends, never interpreting it. It can also serve Agent Skills with the same on-demand discipline.

See it in 70 seconds

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

Measured impact

Against a real workplace MCP setup, measured with the Copilot CLI's /usage:

Tokens in context
MCP connected directly (manifests loaded upfront)17,900
Same MCP behind McpOrchestrator1,400
Reduction~13x

The savings scale with the number of servers. Measure your own setup first — one command, nothing installed, not a single file changed (needs the .NET SDK):

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

Quick start

From an existing MCP setup, cd to the folder holding your host config (.mcp.json, .vscode/mcp.json, or a Cursor config) and run:

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

It lifts your stdio servers into a generated orchestrator.config.json, backs up the host config, and rewrites it to launch only the orchestrator. The generated catalog looks like this — one entry per downstream server:

jsonc
{  "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  ]}

The summary line is what the agent routes on — refine any that read poorly. Restart your MCP host and you're done: the agent discovers everything on its own through list_capabilities → discover_tools → route, and every later edit to this file hot-reloads without a restart.

Add a skill

A skill is a folder with a SKILL.md — instructions the agent discovers and follows by itself when a task matches. Create one:

my-skills/└── release-notes/    └── SKILL.md
markdown
---name: release-notesdescription: 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.

Point the orchestrator at the folder in orchestrator.config.json:

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

Save — it hot-reloads. The agent now sees the skill's name + one-line description via list_skills and loads the full instructions only when a task calls for it. Skills can also come from a shared git repo or an HTTP index, with allow/deny lists and integrity pinning — see docs/skills.md.

Note: these skills are for the agent only — the model discovers and follows them through tools. They do not become host-native skills (no /skills listing or slash command in Claude Code, no IDE skill picker entry).

Documentation

Everything else lives in McpOrchestrator/README.md and docs/:

License

MIT

Source: README.md at commit 3b8ca4d

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

8
  1. v0.7.6LatestOct 20, 2026
  2. v0.7.5Oct 13, 2026
  3. v0.7.3Oct 11, 2026
  4. v0.7.1Oct 11, 2026
  5. v0.7.0Oct 11, 2026
  6. v0.6.1Oct 10, 2026
  7. v0.6.0Oct 10, 2026
  8. v0.5.2Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts