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
Add server-conformance scenarios for SEP-2663 (Tasks Extension), with incidental coverage of SEP-2575 (per-request
capability override) and SEP-2243 (Mcp-Method/Mcp-Name request headers) in the parts of the surface where they bind to
tasks. Plus one new MRTR-adjacent check (mrtr-tasks-composition, currently SKIPPED) for the SEP-2663 commit 451f5e1
MRTR→Tasks promotion flow.
Tagged ['extension', DRAFT_PROTOCOL_VERSION] per #255 conventions.
Implementation: Draft PR (link to be added after open) from panyam/mcpconformance:feat/tasks-mrtr-extension. 8
ClientScenario classes / ~33 checks for tasks plus 1 class / 7 checks + 1 SKIPPED for the MRTR↔Tasks composition
placeholder. Full scope, design notes, and test instructions live in the PR description.
Complementary, not overlapping. SEP-2663 builds on SEP-2322's base types, so a few of the tasks scenarios touch the MRTR
shape (inputRequests, requestState, resultType) in their tasks-on-the-wire form (status:"input_required" on tasks/get, tasks/update resume path, partial inputResponses fulfillment). The standalone-ephemeral-MRTR coverage stays
in #188.
If #188 lands first (expected order — SEP-2322 ships before SEP-2663), I'll drop the duplicative mrtr-ephemeral-flow.ts
checks in favor of #188's scenarios. The mrtr-tasks-composition check (currently SKIPPED) is the genuinely new
contribution to MRTR coverage — it asserts SEP-2663's MRTR→Tasks promotion flow.
Open spec questions
MRTR resultType discriminator value. SEP-2322's draft uses "input_required"; SEP-2663's draft uses "incomplete". Centralized in code as MRTR_INCOMPLETE_RESULT_TYPE for a one-line flip when the SEP authors converge.
mrtr-tasks-composition. SEP-2663 commit 451f5e1 made the MRTR→Tasks promotion flow normative on the wire: a
single tools/call MAY exchange one or more IncompleteResult rounds and then return CreateTaskResult on a subsequent
round. Implementing this requires the server middleware to defer task creation until the handler signals async-promotion —
the natural alternative (mint the task up-front the moment a tool advertises task support) doesn't fit, because by the
time the handler's IsIncomplete signal is observable, the CreateTaskResult is already on the wire. This is a
wire-contract requirement, not an SDK-specific implementation choice; existing SDKs across languages that took the up-front
pattern will need refactoring before this check can pass anywhere. Combined with Adjust test and allow running in interactive mode #1 above, that's why the check is SKIPPED today.
Proposal
Add server-conformance scenarios for SEP-2663 (Tasks Extension), with incidental coverage of SEP-2575 (per-request
capability override) and SEP-2243 (Mcp-Method/Mcp-Name request headers) in the parts of the surface where they bind to
tasks. Plus one new MRTR-adjacent check (
mrtr-tasks-composition, currentlySKIPPED) for the SEP-2663 commit451f5e1MRTR→Tasks promotion flow.
Tagged
['extension', DRAFT_PROTOCOL_VERSION]per #255 conventions.Implementation: Draft PR (link to be added after open) from
panyam/mcpconformance:feat/tasks-mrtr-extension. 8ClientScenario classes / ~33 checks for tasks plus 1 class / 7 checks + 1 SKIPPED for the MRTR↔Tasks composition
placeholder. Full scope, design notes, and test instructions live in the PR description.
Relationship to PR #188 (SEP-2322 MRTR)
Complementary, not overlapping. SEP-2663 builds on SEP-2322's base types, so a few of the tasks scenarios touch the MRTR
shape (
inputRequests,requestState,resultType) in their tasks-on-the-wire form (status:"input_required"ontasks/get,tasks/updateresume path, partial inputResponses fulfillment). The standalone-ephemeral-MRTR coverage staysin #188.
If #188 lands first (expected order — SEP-2322 ships before SEP-2663), I'll drop the duplicative
mrtr-ephemeral-flow.tschecks in favor of #188's scenarios. The
mrtr-tasks-compositioncheck (currentlySKIPPED) is the genuinely newcontribution to MRTR coverage — it asserts SEP-2663's MRTR→Tasks promotion flow.
Open spec questions
MRTR
resultTypediscriminator value. SEP-2322's draft uses"input_required"; SEP-2663's draft uses"incomplete". Centralized in code asMRTR_INCOMPLETE_RESULT_TYPEfor a one-line flip when the SEP authors converge.mrtr-tasks-composition. SEP-2663 commit451f5e1made the MRTR→Tasks promotion flow normative on the wire: asingle
tools/callMAY exchange one or moreIncompleteResultrounds and then returnCreateTaskResulton a subsequentround. Implementing this requires the server middleware to defer task creation until the handler signals async-promotion —
the natural alternative (mint the task up-front the moment a tool advertises task support) doesn't fit, because by the
time the handler's
IsIncompletesignal is observable, theCreateTaskResultis already on the wire. This is awire-contract requirement, not an SDK-specific implementation choice; existing SDKs across languages that took the up-front
pattern will need refactoring before this check can pass anywhere. Combined with Adjust test and allow running in interactive mode #1 above, that's why the check is
SKIPPEDtoday.