Gemini CLI’s PR #21050 fixes a rough edge in MCP notifications: tools/list_changed
updates could be missed, leaving clients out of sync with what a server actually offers.
The client now registers list-changed handlers for tools, resources, and prompts even when
a server doesn’t explicitly declare the listChanged capability. It logs that it’s
listening anyway for robustness, which keeps notification handling consistent across real-world
MCP servers that don’t perfectly advertise their capabilities.
Tool refresh was also hardened. Refresh requests now coalesce bursts via a
pendingToolRefresh flag, and if discovery reports no change, the client retries once
after 500ms—guarding against race conditions where a server notifies before its tool list is ready.
Why it matters: fewer missed tool updates and more reliable MCP integrations, especially under rapid change or imperfect server metadata. For developers building workflows on Gemini CLI, this translates to steadier, more trustworthy tool discovery.
Sources
- PR https://github.com/google-gemini/gemini-cli/pull/21050
- Commit https://github.com/google-gemini/gemini-cli/commit/352fb0c97680b11578f88277f9e0265aa9a2191a
Send a note to the desk
Corrections, missing context, or a follow-up lead.