v0.154.0
 1# Baseline of MCP conformance checks that plain-mcp does not pass.
 2#
 3# Two entry forms, and the difference matters:
 4#
 5#   - `scenario`          — a wildcard. Exempts every check in the scenario,
 6#                           and only goes stale once the whole scenario passes.
 7#                           Right for a feature we haven't built: naming its
 8#                           checks one by one just restates the scenario in
 9#                           more words.
10#   - `scenario:check-id` — exempts that check alone, so a *different* check in
11#                           the same scenario failing still counts as a
12#                           regression. Right for a scenario that partly
13#                           passes. None currently do.
14#
15# The CLI rejects mixing the two forms for one scenario, so a scenario is
16# either wholly exempt or listed check by check.
17#
18# Exit-code semantics (--expected-failures):
19#   fail + expected  -> exit 0
20#   fail + unexpected -> exit 1  (regression)
21#   pass + expected  -> exit 1  (stale baseline)
22#   pass + unexpected -> exit 0  (normal pass)
23
24server:
25  # SEP-2243 `x-mcp-header` / `Mcp-Param-*`: a schema can mark an input as
26  # travelling in its own HTTP header, and the server validates it there.
27  # Deferred, and inert until there's a tool-side API to declare it — the
28  # server half alone would be a validator with nothing to validate. Optional
29  # for servers, so this is a feature gap, not a violation.
30  - http-custom-header-server-validation
31
32  # Completions — not implemented.
33  - completion-complete
34
35  # Progress notifications on tools/call — not implemented.
36  - tools-call-with-progress
37
38  # SEP-2322 mid-request input (MRTR): a tool pauses, asks the client for
39  # elicitation / sampling / roots, and resumes from carried state. Not
40  # implemented — it's the stateless protocol's replacement for the old
41  # server-to-client stream, and a sizable feature in its own right.
42  - input-required-result-basic-elicitation
43  - input-required-result-basic-sampling
44  - input-required-result-basic-list-roots
45  - input-required-result-request-state
46  - input-required-result-multiple-input-requests
47  - input-required-result-multi-round
48  - input-required-result-missing-input-response
49  - input-required-result-non-tool-request
50  - input-required-result-result-type
51  - input-required-result-tampered-state
52  - input-required-result-capability-check
53  - input-required-result-validate-input