Add conformance tests for SEP-1613 JSON Schema 2020-12 support#45
Merged
Add conformance tests for SEP-1613 JSON Schema 2020-12 support#45
Conversation
Add conformance test to validate that MCP servers correctly preserve JSON Schema 2020-12 keywords ($schema, $defs, additionalProperties) in tool definitions. Changes: - Add JsonSchema2020_12Scenario in src/scenarios/server/json-schema-2020-12.ts - Add json_schema_2020_12_tool to everything-server with tools/list override to return raw JSON Schema instead of Zod-converted schema - Register scenario in pendingClientScenariosList (requires SDK PR #1135) The test is added to pending because the client SDK currently strips the JSON Schema 2020-12 keywords. Once PR #1135 is merged into the SDK, this scenario can be moved to the active list.
commit: |
pcarleton
approved these changes
Nov 20, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds conformance tests for SEP-1613 which establishes JSON Schema 2020-12 as the default dialect for MCP tool schemas.
Summary
$schemafield preservation with valuehttps://json-schema.org/draft/2020-12/schema$defsfield preservation with expected structureadditionalPropertiesfield preservationjson_schema_2020_12_toolto everything-server with custom tools/list handlerMotivation and Context
SEP-1613 establishes JSON Schema 2020-12 as the default dialect for MCP. These conformance tests ensure SDK implementations correctly preserve JSON Schema 2020-12 keywords (
$schema,$defs,additionalProperties) in tool definitions, rather than stripping them during schema conversion.How Has This Been Tested?
Breaking Changes
None.
Types of changes
Checklist
Note
This PR requires SDK with PR #1135 merged to fully pass. The scenario is currently in
pendingClientScenariosListuntil the SDK preserves JSON Schema 2020-12 keywords.