yoi/.yoi/tickets/00001KVHR3WSW/item.md

1.8 KiB

title state created_at updated_at assignee readiness risk_flags queued_by queued_at
MCP: handle list_changed notifications safely inprogress 2026-06-20T05:30:04Z 2026-06-20T10:26:13Z null implementation_ready
mcp
notifications
tool-schema
prompt-cache
refresh
workspace-panel 2026-06-20T05:59:05Z

Background

MCP servers can notify that tools/resources/prompts lists changed. Yoi must not silently go stale, but it also must not mutate the active run's model-visible tool schema or context in a way that violates history/prompt-cache invariants. This Ticket defines provider tool-list refresh behavior at safe boundaries.

Requirements

  • Handle MCP list-changed notifications: notifications/tools/list_changed, notifications/resources/list_changed, and notifications/prompts/list_changed.
  • Choose and implement a safe refresh policy: next-turn refresh, restart/reinitialize-required diagnostic, or bounded live refresh only if it preserves schema/history invariants.
  • Do not mutate current LLM context with hidden resource/prompt content.
  • Emit bounded diagnostics when refresh cannot be applied safely.
  • Tests with mock server notifications.

Acceptance criteria

  • list_changed does not silently stale forever.
  • Current run tool schema consistency is not broken.
  • Refresh/diagnostic behavior is deterministic and documented.
  • Prompt-context/history invariants are preserved.
  • Tests cover tools/resources/prompts list_changed and unsafe refresh fallback.

Non-goals

  • Initial tools/list registration.
  • Initial resources/prompts operations.
  • Remote MCP transports.
  • Depends on 00001KVHR3WS6 for tool list registration.
  • Related to 00001KVHR3WSN for resources/prompts lists.
  • Objective: 00001KTR80WMN.