解决Agent暴露数百MCP工具导致的上下文膨胀、安全风险和维护负担;TypeScript实现,Apache-2.0开源,暴露路由发现能力而非全量schema给Agent。
Agents 能访问的 MCP 工具越来越多——几十个,然后上百个。把它们全部暴露给 Claude Code、Cursor 或 OpenCode 会产生四个具体问题:
MCP Nexus 通过能力暴露面来回答这个问题:它不再一股脑倾倒所有工具,而是只暴露契合当前请求的那几个。一个统一的 MCP 入口面对成百上千个工具——Agent 只在恰当的时刻看到恰当的能力。
它是免费开源的(Apache-2.0),用 TypeScript 编写,运行在 Model Context Protocol 之上。v1.0.0 已发布。
一个入口,成百上千个工具——Agent 通过 stdio 或 Streamable HTTP 一次性连接完整的 nexus.* 界面:register_tool、remove_tool、inspect_tool、list_tools、route、discover、invoke、approvals、resolve_approval。
动态能力发现——nexus.discover 返回契合请求的最小工具暴露面,而非 500 份 schema。
可解释的路由——每个决策都附带 provider、confidence、matched capabilities 和 alternatives。
LLM 可选——heuristic → semantic → LLM 回退。无需 GPU、无需 API key、无需互联网即可完美路由。
策略感知的执行——每个工具独立的权限作用域,外加 allow / deny / approval 规则。
可审计——JSONL 活动日志,以 executionId 端到端关联,从 gateway invoke 到 dashboard activity。
AI AGENT
Claude / Cursor / Codex
│
▼
┌─────────────────┐
│ MCP SERVER │ stdio · Streamable HTTP
└────────┬────────┘
│
▼
┌─────────────────┐
│ DISCOVERY │
└────────┬────────┘
│
┌─────────┴─────────┐
▼ ▼
TOOL REGISTRY ROUTER intent overlay
│
┌───────────┼───────────┐
▼ ▼ ▼
Heuristic Semantic LLM*
│ │ │
└───────────┼───────────┘
▼
POLICY ENGINE
│
▼
TOOL RUNNER
│
local · stdio · docker · http
│
▼
MCP TOOL
* LLM 是可选的——零依赖的路由栈完全离线运行。
需要 Node.js ≥ 22(推荐 Node 24 以获得原生 TypeScript 支持)。
git clone https://github.com/dsk-dev-ai/mcp-nexus.git
cd mcp-nexus
npm install
# stdio (本地客户端)
npm start
# …或 Streamable HTTP(远程客户端)
npm start -- start:http # http://127.0.0.1:3001/mcp
从任意 MCP 客户端连接该端点。在第二个终端中管理注册表:
npm start -- add tools/repoarch.json
npm start -- add tools/ctx.json
npm start -- add tools/dependency-audit.json
npm start -- list # 浏览
npm start -- inspect repoarch # 完整清单
npm start -- search "check vulnerable dependencies" # 路由试跑
npm start -- doctor # 环境检查
npm start -- benchmark # CI 门禁
现在连接任意 MCP 客户端并提问:
"分析我的代码库架构,检查依赖中是否存在漏洞。"
Agent 调用 nexus.route / nexus.invoke;Nexus 发现、选择、策略检查并执行正确的工具——两种传输方式均可。
路由链是 provider 回退,从左到右:
heuristic → semantic → llm
确定性 intent overlay 在路由头部同时作用于 heuristic 和 semantic 层,因此领域词汇——git 历史、dependency/lockfile 风险、secret 扫描、repo 结构——总是优先于通用上下文回退。
每个决策都是可解释的:
$ npm start -- search "check vulnerable dependencies"
Request: "check vulnerable dependencies"
Selected: dependency-audit
Provider: heuristic
Confidence: 100%
Matched capabilities: dependency-audit
Alternatives: repoarch (49%), ctx (0%)
Why: Matched capabilities: dependency-audit for "dependency-audit".
策略感知的执行
清单携带权限作用域;全局规则补充 allow / deny / approval:
// .nexus/policy.json
{
"default": "allow",
"rules": [
{ "tool": "git", "blocklists": ["git.push"], "approvals": ["git.commit"] }
]
}
需要审批的工具会排队等待操作员处理,通过 gateway(nexus.approvals、nexus.resolve_approval)或 Web dashboard 完成审批。
确定性基准测试,不是玄学
一套完全离线的参考套件——6 个工具 / 32 个任务,覆盖 exact / semantic / ambiguous / unknown intents——可在任意机器上复现:
硬失败:零。mcp-nexus benchmark 仅在每一条 exact + semantic 参考任务都正确路由时才 exit 0——这就是 CI 门禁。
GitHub: dsk-dev-ai/mcp-nexus
项目站点: dsk-dev-ai.github.io/mcp-nexus
文档: API、架构、路由、注册表、基准测试、dashboard、安全、客户端、SDK、性能、集成