Skip to content

Conformance server: json-schema-2020-12 SEP-2106 keyword-preservation checks fail (4/7) #1003

Description

@DaleSeo

The json-schema-2020-12 server scenario now exercises three SEP-2106 keyword-preservation checks at 2026-07-28 that fail against the conformance server:

  • sep-2106-composition-keywords-preserved — "allOf keyword missing from inputSchema"
  • sep-2106-conditional-keywords-preserved — "Conditional keywords missing (if/then/else)"
  • sep-2106-anchor-keyword-preserved — "$anchor missing from $defs.address"

The #977 baseline (2026-07-13) recorded this scenario as 4/4 because the run exercised fewer checks; at current main (and at pre-#973 839922d) it is 4/7, so this is a pre-existing gap, not a regression from the 2026-07-16 merges.

The json_schema_2020_12_tool in conformance/src/bin/server.rs declares $schema, $defs, $ref, and additionalProperties, but no allOf/anyOf composition, no if/then/else, and no $anchor inside $defs.address. The checks verify rmcp does not strip these keywords, so the tool's input schema needs to include them (and, if anything in the model layer does strip them, that needs fixing — Tool::input_schema is a raw JsonObject, so this is most likely just the fixture).

Repro:

cargo build -p mcp-conformance
STATELESS=1 PORT=8002 ./target/debug/conformance-server &
npx -y @modelcontextprotocol/conformance@0.2.0-alpha.9 server \
  --url http://127.0.0.1:8002/mcp --scenario json-schema-2020-12 --spec-version 2026-07-28

Part of #977.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions