You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Monitoring sidebar: a long entry (e.g. resource URI) clips the Protocol list — entries must never clip #2675
In the web client's Monitoring sidebar (Protocol tab), a single long entry widens the whole message list, so the entries are clipped at the panel's right edge. In the reported case the target is a long resource URI from resources/read (demo://resource/minted/c05df264-ed9c-44a4-a81d-c2d…):
The URI runs off the right edge. It doesn't scroll and it isn't truncated.
Every card's right border is cut off, including entries with short targets (tools/call get-sum). The long entry widened the whole list, not just its own row.
The right-hand controls (replay / pin / expand, ControlsCluster in ProtocolEntry.tsx) are pushed out of view. That leaves the entry unusable as well as hard to read.
The intended behavior is already in the code: ProtocolEntry.tsx puts the compact-header target in a TargetScrollArea (flex: 1, miw: 0) inside a shrinkable HeaderCluster (miw: 0), so a long target should scroll horizontally inside its own row. Somewhere in the min-width chain between the sidebar's scroll area (ProtocolListPanel's EmbeddableScrollArea) and that ScrollArea, a parent is sizing to its content. The ScrollArea viewport therefore never constrains the URI, and the overflow reaches the list.
Expected
Nothing in a Monitoring sidebar entry should ever clip, whatever its content and whatever the sidebar's width. Each card fits the panel width, its controls stay visible, and long content scrolls horizontally inside its own area, or wraps, but never pushes the card past the panel edge.
Check the sibling tabs while fixing this: Logs, Tasks and Console, and the network entry (NetworkEntry, whose URL uses the same scroll-in-place pattern). The rule applies to all of them, and the same broken min-width chain may affect them too.
Repro
Connect to a server that exposes a resource with a long URI. The everything showcase server's minted resources are one example: run gzip-file-as-resource and then read the resource it returns.
Read the resource, then open the Monitoring sidebar → Protocol.
The resources/read entry overflows and every card is clipped on the right.
Acceptance
A long target (URI, tool name, subscription id) scrolls inside its row. The card's border and controls stay visible at every sidebar width.
Short entries are unaffected by a long one elsewhere in the list.
A test or story with a long resources/read URI asserts that the card doesn't overflow its container. A Storybook play test is likely the right tier, because happy-dom does no layout.
Activity
cliffhall commentedon Oct 12, 2026
Priority score: severity 3 (entry content and its controls unreachable; workaround is widening the sidebar) + urgency 3 (wanted this milestone) + 2 signals (
bug, milestoned) = 8 → Medium.test(web): fail a rendered control squeezed to zero width (#2675)
Merge pull request #2688 from modelcontextprotocol/v2/fix/2675-monito…
cliffhall commentedon Oct 12, 2026
Fixed by #2688, merged into v2/main.
fix(web): keep every monitoring-sidebar entry inside its column (mode…