McpOrchestrator
Um servidor MCP... para seus outros servidores MCP.
Documentação

McpOrchestrator — um orquestrador MCP nativo .NET
Cada servidor MCP que você conecta custa contexto antes que o agente faça qualquer coisa — os manifests das ferramentas ficam no prompt a cada turno. O McpOrchestrator coloca um servidor entre o seu agente e todos os outros e carrega os manifests das ferramentas downstream sob demanda, para que o contexto sempre ativo do agente permaneça estável, não importa quantos servidores você adicione. O agente vê três meta-ferramentas — list_capabilities → discover_tools → route — e o orquestrador é um relé puro: ele encaminha exatamente o que o agente envia, sem nunca interpretar. Ele também pode servir Agent Skills com a mesma disciplina sob demanda.
Veja em 70 segundos
https://github.com/user-attachments/assets/741c1afa-4bef-4870-9b84-e2c245b8117e
Impacto medido
Contra uma configuração real de MCP no ambiente de trabalho, medida com o /usage do Copilot CLI:
| Tokens no contexto | |
|---|---|
| MCP conectado diretamente (manifests carregados antecipadamente) | 17.900 |
| Mesmo MCP atrás do McpOrchestrator | 1.400 |
| Redução | ~13x |
A economia escala com o número de servidores. Meça sua própria configuração primeiro — um comando, nada instalado, nenhum arquivo alterado (requer o .NET SDK):
cd ~/my-project # a folder with a .mcp.json / .vscode/mcp.json / Cursor config
dotnet tool execute McpOrchestrator profile
Início rápido
A partir de uma configuração MCP existente, cd para a pasta que contém a configuração do seu host (.mcp.json, .vscode/mcp.json ou uma configuração do Cursor) e execute:
dotnet tool execute McpOrchestrator --yes init # dnx McpOrchestrator --yes init works too
Ele eleva seus servidores stdio para um orchestrator.config.json gerado, faz backup da configuração do host e a reescreve para iniciar apenas o orquestrador. O catálogo gerado fica assim — uma entrada por servidor downstream:
{
"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
]
}
A linha summary é o que o agente usa para rotear — refine qualquer uma que não leia bem. Reinicie seu host MCP e pronto: o agente descobre tudo sozinho por meio de list_capabilities → discover_tools → route, e cada edição posterior neste arquivo recarrega a quente sem reiniciar.
Adicionar uma skill
Uma skill é uma pasta com um SKILL.md — instruções que o agente descobre e segue sozinho quando uma tarefa corresponde. Crie uma:
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.
Aponte o orquestrador para a pasta em orchestrator.config.json:
"skills": {
"sources": [{ "id": "local", "type": "directory", "path": "C:/my-skills" }]
}
Salve — ela recarrega a quente. O agente agora vê o nome da skill + uma descrição de uma linha via list_skills e carrega as instruções completas apenas quando uma tarefa exigir. Skills também podem vir de um repositório git compartilhado ou de um índice HTTP, com listas de permitir/negar e fixação de integridade — veja docs/skills.md.
Nota: essas skills são apenas para o agente — o modelo as descobre e segue por meio de ferramentas. Elas não se tornam skills nativas do host (sem listagem
/skillsou comando de barra no Claude Code, sem entrada no seletor de skills da IDE).
Documentação
Todo o resto está em McpOrchestrator/README.md e docs/:
- Como funciona e as três ferramentas — arquitetura e escalonamento de tokens
- Perfil da economia de tokens — o comando
profileem profundidade, modo de rastreamento, portão de CI - Referência da CLI — todos os comandos e flags: o servidor,
initeprofile, além de todas as variáveis de ambiente - Configuração manual — os dois arquivos de configuração que o
initgera, escritos à mão - Referência de configuração — todos os campos, placeholders, capacidades proativas, recarga a quente, configuração central (da equipe)
- Agent Skills — fontes (diretório/git/HTTP), governança, modos de entrega, como funciona
- Empacotamento e Native AOT — instale como uma ferramenta .NET ou um binário autossuficiente a partir de Releases
- Como se compara — vs. mcp-aggregator e gateways, e quando não usar isso
- Solução de problemas