MCP tools and secrets scoping per profile

NousResearch/hermes-agent · cluster 67605 · dashboard

Data as of

Nothing open on GitHub. Fix merged in #72219. Check it covers your case.

The short answer

0open issues
0open PRs
9items grouped
Known?
Yes. 9 related items grouped here, 1 issue already closed.
Fix event
A fix was merged to main in PR #72219. Check it covers your case. No release data is tracked.
Tracker
The maintainers' tracker marks this resolved, deciding PR #108676. That is separate from the fix event.
Still open
Nothing open on GitHub.

A bug and several fixes addressing MCP tool isolation, secret resolution, and connection scoping when switching or multiplexing profiles in the dashboard and desktop gateway. Work centers on ensuring each profile gets its own MCP connections and credentials rather than sharing or inheriting from a launch profile.

Open issues0

No open issues.

Open PRs0

No open pull requests.

Fixes on record

Merged to main. A stamp counts the issues a fix is linked to.

  • #72219 fix(tui-gateway): scope MCP discovery to the selected profile (Desktop/dashboard)

    merged to main

    files: hermes_cli/mcp_startup.py, tests/test_tui_gateway_server.py, tests/test_tui_gateway_ws.py, tui_gateway/entry.py, tui_gateway/server.py, tui_gateway/ws.py

  • #72293 fix(tui-gateway): install the selected profile's secret scope (Desktop/dashboard)

    merged to main

    files: tests/test_tui_gateway_server.py, tui_gateway/compute_host.py, tui_gateway/server.py

  • #108352 fix(gateway,mcp): multiplexed profiles get their own same-named MCP servers, and start/status/API_SERVER_KEY honour the live multiplexer (#106005, #91654, #100397; salvage #99594/#104534)

    merged to main

    files: gateway/config_env.py, gateway/status.py, hermes_cli/cron.py, hermes_cli/gateway.py, hermes_cli/gateway_multiplex_served.py, hermes_cli/status.py, hermes_cli/subcommands/gateway.py, hermes_cli/web_routers/ops.py, tests/gateway/test_multiplex_secondary_port_binding_env.py, tests/hermes_cli/test_gateway_multiplex_served_record.py, tests/test_toolsets.py, tests/tools/test_mcp_multiplex_connection_keys.py, tools/mcp_tool.py, tools/mcp_tool_discovery.py, tools/mcp_tool_handlers.py, tools/mcp_tool_health.py, tools/mcp_tool_lifecycle.py, tools/mcp_tool_loop.py, tools/mcp_tool_registration.py, tools/mcp_tool_scope.py (+4 more)

  • #108676 fix(multiplex): serve every profile, scope sessions.* + proxy readers, dashboard -p child env

    merged to main

    files: gateway/config.py, gateway/config_loader.py, gateway/platforms/api_server.py, gateway/platforms/webhook.py, gateway/run.py, hermes_cli/AGENTS.md, hermes_cli/config_defaults.py, hermes_cli/config_migrations.py, hermes_cli/gateway.py, hermes_cli/mcp_startup.py, hermes_cli/profiles.py, hermes_cli/web_server.py, hermes_cli/web_server_cron.py, hermes_cli/web_server_gateway.py, hermes_state.py, hermes_state_common.py, hermes_state_fts.py, hermes_state_search.py, tests/acp_adapter/test_acp_mcp_discovery.py, tests/cron/test_cron_multiplex_desktop_ticker_scope.py (+27 more)

  • #111481 fix(mcp): dashboard-served profiles keep their own MCP connections and credentials (#111151)

    merged to main

    files: agent/secret_scope.py, tests/tools/test_mcp_multiplex_connection_keys.py, tools/mcp_tool.py, tools/registry.py, website/docs/user-guide/multi-profile-gateways.md

3 PRs closed without merging

From the close comments: done elsewhere 2 · merged via another change 1

  • #67623 fix(tui_gateway): scope secrets and MCP discovery to the active profile (#67605) · merged via another change → #72293, #72219, #67605
  • #104534 fix(mcp): isolate MCP tools per profile under gateway multiplexing · done elsewhere → edff87f, #108676, #90027, #108352, #67605
  • #111354 fix(mcp): isolate dashboard-served profile connections without global multiplex flag · done elsewhere → 57c4e1d, 5117e3b, #111481, #111151
Closed issues · 1
  • Closed#67605[Bug]: Dashboard/desktop profile switch is partial — MCP tools never load and secrets/${VAR} resolve from the launch profile, not the selected one
How this cluster was grouped
  • Link evidence (structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
  • Pairwise link density 0.22: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. 1.00 means every pair is linked.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Subsystem
dashboard
Merged PRs
#72219, #72293, #108352, #108676, #111481
Closed issues
1
Attempts
3 PRs closed without merging
Fix link checked
15 Sep 2026

For your agent

The same facts, typed.