关于 McpOrchestrator
McpOrchestrator 是一个 .NET MCP 服务,在 Agent 与多个下游 MCP 服务之间转发请求,并按需发现工具清单,以减少常驻上下文。它还可按需向 Agent 提供 Agent Skills。
主要功能
- 01通过能力、工具发现和路由进行请求转发
- 02按需加载下游工具清单
- 03配置变更后热加载
- 04支持目录、Git 和 HTTP 技能来源
- 05提供配置初始化与上下文用量分析命令
适用场景
- 01将多个 MCP 服务接入单一入口
- 02降低 Agent 预先加载工具清单的上下文占用
- 03按任务向 Agent 提供技能说明
MCP 相关
McpOrchestrator 作为 MCP 服务连接多个下游服务;Agent 使用 `list_capabilities`、`discover_tools` 和 `route` 逐步发现并调用它们。它也通过同一按需机制提供 Agent Skills。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍

McpOrchestrator — 原生支持 .NET 的 MCP 编排器
每连接一个 MCP 服务,Agent 执行任何操作之前都会消耗上下文——其工具清单会在每轮对话中出现在提示词里。 McpOrchestrator 在你的 Agent 与所有其他服务之间充当一个服务,并按需加载下游工具清单,因此无论你添加多少服务,Agent 常驻上下文的大小都保持不变。Agent 会看到三个元工具——list_capabilities → discover_tools → route——而编排器是一个纯中继:它会原样转发 Agent 发送的内容,绝不进行解读。它也能以同样的按需方式提供 Agent Skills。
70 秒了解它的工作方式
https://github.com/user-attachments/assets/741c1afa-4bef-4870-9b84-e2c245b8117e
实测效果
在真实的工作场所 MCP 配置中,使用 Copilot CLI 的 /usage 测得:
| 上下文中的 Token 数 | |
|---|---|
| 直接连接 MCP(预先加载清单) | 17,900 |
| 相同的 MCP 置于 McpOrchestrator 后 | 1,400 |
| 减少量 | 约 13 倍 |
节省量会随服务数量增加。请先测量你自己的配置——只需一条命令,无需安装任何内容,也不会更改任何文件(需要 .NET SDK):
cd ~/my-project # a folder with a .mcp.json / .vscode/mcp.json / Cursor config
dotnet tool execute McpOrchestrator profile
快速开始
在现有 MCP 配置中,先 cd 到存放主机配置的文件夹(.mcp.json、.vscode/mcp.json 或 Cursor 配置),然后运行:
dotnet tool execute McpOrchestrator --yes init # dnx McpOrchestrator --yes init works too
它会将 stdio 服务移至生成的 orchestrator.config.json,备份主机配置,并将其改写为仅启动编排器。生成的目录如下所示——每个下游服务对应一个条目:
{
"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 行是 Agent 进行路由的依据——请修改任何读起来不够清晰的内容。重启 MCP 主机即可:Agent 会通过 list_capabilities → discover_tools → route 自行发现所有内容,之后对该文件的每次编辑都会热重载,无需重启。
添加技能
技能是一个包含 SKILL.md 的文件夹,其中的说明会在任务匹配时由 Agent 自行发现并遵循。创建一个技能:
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" }]
}
保存后即可热重载。现在,Agent 可以通过 list_skills 看到技能名称和一行描述,并且只会在任务需要时加载完整说明。技能也可以来自共享 git 仓库或 HTTP 索引,并支持允许/拒绝列表和完整性固定——请参阅 docs/skills.md。
注意:这些技能仅供 Agent 使用——模型通过工具发现并遵循这些技能。它们不会成为主机原生技能(Claude Code 中不会显示
/skills列表或斜杠命令,IDE 中也不会出现技能选择器条目)。
文档
其他内容均位于 McpOrchestrator/README.md 和 docs/ 中:
- 工作原理和三个工具 — 架构和 Token 扩展
- 分析 Token 经济效益 — 深入了解
profile命令、跟踪模式和 CI 门控 - CLI 参考 — 所有命令和标志:服务、
init和profile,以及所有环境变量 - 手动设置 — 手动编写
init生成的两个配置文件 - 配置参考 — 所有字段、占位符、主动能力、热重载、集中式(团队)配置
- 迁移到采用按项目设置值的集中式目录 — 逐步转换现有设置,版本兼容性和回滚
- Agent Skills — 来源(目录/git/HTTP)、治理、交付模式及工作原理
- 打包与 Native AOT — 安装为 .NET 工具,或从 Releases 获取自包含二进制文件
- 对比情况 — 与 mcp-aggregator 和网关的对比,以及何时不应使用它
- 故障排除
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。