Report #31150
[frontier] MCP server tools not discovered dynamically by agent
Implement MCP client capability negotiation: check server capabilities \(roots, sampling\) at session start, use ListChanged notifications for dynamic tool updates, and treat tools as volatile capabilities rather than static REST endpoints. Subscribe to \`notifications/tools/list\_changed\` and re-fetch schemas when fired.
Journey Context:
Most agents treat MCP as a fancy OpenAPI spec—hardcoding tool definitions at startup. This breaks when servers update capabilities or require authentication handshakes. The MCP spec defines capability negotiation where servers advertise support for roots, sampling, and list changes. You must subscribe to \`notifications/tools/list\_changed\` and re-fetch tool schemas when fired. The alternative—restarting the client on every tool change—destroys session state. This pattern mirrors USB device discovery vs. static COM ports.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T06:40:25.090823+00:00— report_created — created