mcp management - sinrimin/harness-nexus GitHub Wiki
MCP management & aggregation
Phases 2.2 + 2.4 (dial sites: Phase 8 C2) ยท designs: registry ยท connect & tools ยท dial sites
Register upstream MCP servers once; every agent tool consumes the aggregated outlet instead of dialing each upstream itself.
MCP server rows
Each row declares a transport (sse / http / stdio) plus any
${cred:NAME} placeholders in url / command / args / env / headers.
Credentials are resolved at connect time (see Credentials).
Where the connection lives โ dial sites
- server โ the platform dials the upstream (SSE/HTTP) and serves it through the aggregated outlet.
- client โ the user's machine dials it via the
hnx mcp serveshim (SSE/HTTP/stdio; every referenced credential must be distributable). - auto โ client iff all referenced credentials are distributable (or none), else server. stdio can never be server-dialed.
The aggregated outlet
GET/POST /mcp(Streamable HTTP) and legacy SSE at/mcp/sseโ PAT-gated, routed by profile:/mcp?profile=<id>exposes exactly that profile's MCP servers.- Tools are namespaced
serverName__toolNameto avoid collisions. - Unreachable upstreams are marked
errorand skipped โ they never block startup or tool listing.
Operator controls
- Live status (
connected / connecting / error / disconnected) + tool counts drive the dashboard mesh and the management page badges. - Connect / Disconnect buttons per server-dialed row (re-dial after a credential fix; drop a live connection without deleting the row).
- Expandable tool inspection: each upstream tool with description and
inputSchemaparameters, plus a refresh โ in original, un-namespaced names.