everything: trigger-elicitation-request-async polls past the 10-minute TTL it requests #4986
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't workingserver-everythingReference implementation for the Everything MCP server - src/everythingReference implementation for the Everything MCP server - src/everythingv2
Milestone
Description
Problem
trigger-elicitation-request-async creates its client task with a 10-minute TTL, then polls up to 600 times one second apart. With polling overhead that outlasts the TTL, so a client that honors the TTL expires the task and the tool fails on its last poll.
Where it is pinned
src/everything/__tests__/tasks.test.ts: "fails on the last poll instead when the client honors the 10-minute TTL", added in #4978 (Wave 1 of #4857). Each of these tests carries a KNOWN BUG marker: it asserts the current, wrong behavior, so the fix has to change it.
Expected
The polling budget fits inside the TTL the tool requested (or the TTL covers the polling window).
Done when
- The behavior above is fixed, in the legacy-era (2025-11-25) server on SDK 1.x.
- The pinning tests assert the correct behavior, and their
KNOWN BUGmarkers are gone. - The per-file 90% coverage gate still passes.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingserver-everythingReference implementation for the Everything MCP server - src/everythingReference implementation for the Everything MCP server - src/everythingv2
Activity
Merge pull request #5014 from modelcontextprotocol/v2/fix/4986-everyt…
cliffhall commentedon Oct 5, 2026
Fixed by #5014, merged into
v2/main(Wave 1 of #5004).fix(everything): keep async task tools within their client task