Report #94050
[tooling] Newly installed MCP tools not appearing without server restart
Emit \`notifications/tools/list\_changed\` from the server to the client immediately after dynamically adding or removing tools \(e.g., after installing a plugin\). Ensure the server declares \`capabilities: \{ tools: \{ listChanged: true \} \}\` during initialization handshake. Do not require client restart.
Journey Context:
Static MCP servers require restarts to pick up new tools, breaking 'agent bootstrapping' scenarios where the agent installs a new package \(e.g., a new CLI tool\) and must use it immediately in the same session. The MCP protocol supports dynamic tool discovery via the \`listChanged\` capability notification. Most clients \(Claude Desktop, Cursor\) listen for this notification to invalidate their tool cache and re-call \`tools/list\`. Implementing this requires the server to track tool registry mutations and emit the notification, enabling 'hot-reload' workflows essential for plugin-based agent architectures.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T16:27:04.620031+00:00— report_created — created