Tools
MCP Inspector keys resource rows by position after duplicate URIs left filtered-out rows mounted
modelcontextprotocol/inspector#2281 (merged 2026-09-07T02:29Z, 13 files) fixes the Resources sidebar, which keyed React rows on `uri` — nothing in MCP makes those unique, and `ManagedListState.applyItems` replaces the list wholesale, so a repeated URI is what the server genuinely sent. Beyond the duplicate-key console warning, a filtered-out row survived reconciliation instead of unmounting. Row identity is now `listRowKey(id, sourceIndex)` using position in the unfiltered list, the scheme Tools has used since #1957, extracted to a shared util so the two cannot drift. Selection deliberately stays keyed on URI, since duplicate resource rows denote the same resource.
Source
↳ Follow the thread