mcpField
M
McpOrchestrator

McpOrchestrator

本地服务
github.comAI 与智能体21 周前更新

关于 McpOrchestrator

McpOrchestrator 是一个 .NET MCP 服务,在 Agent 与多个下游 MCP 服务之间转发请求,并按需发现工具清单,以减少常驻上下文。它还可按需向 Agent 提供 Agent Skills。

主要功能

  1. 01通过能力、工具发现和路由进行请求转发
  2. 02按需加载下游工具清单
  3. 03配置变更后热加载
  4. 04支持目录、Git 和 HTTP 技能来源
  5. 05提供配置初始化与上下文用量分析命令

适用场景

  1. 01将多个 MCP 服务接入单一入口
  2. 02降低 Agent 预先加载工具清单的上下文占用
  3. 03按任务向 Agent 提供技能说明

MCP 相关

McpOrchestrator 作为 MCP 服务连接多个下游服务;Agent 使用 `list_capabilities`、`discover_tools` 和 `route` 逐步发现并调用它们。它也通过同一按需机制提供 Agent Skills。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
nugetMcpOrchestrator0.7.6

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

McpOrchestrator — 在你的 Agent 与所有 MCP 服务之间建立一个中继

McpOrchestrator — 原生支持 .NET 的 MCP 编排器

NuGet Downloads License: MIT

每连接一个 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/ 中:

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。