Add client-side SEP-1034 elicitation defaults conformance test#19
Merged
Add client-side SEP-1034 elicitation defaults conformance test#19
Conversation
commit: |
Contributor
Author
|
Right now this doesn't pass yet because it's pending landing of modelcontextprotocol/typescript-sdk#1096 |
Adds a conformance test that validates client SDKs properly apply default values for omitted fields in elicitation responses per SEP-1034. The test spins up a server that sends elicitation requests with defaults, and validates that the client returns content with those defaults applied.
Updates client-side test to validate server-side default application using elicitInput() helper, which applies defaults via validation layer. This aligns with the TypeScript SDK's SEP-1034 implementation approach. The test now validates: - Server uses elicitInput() with schemas containing defaults - Client returns empty/partial content - Server automatically applies defaults during validation - Defaults are correctly merged for all primitive types
…de defaults test Ensures conformance test validates true client-side default application rather than server-side validation behavior.
39060b4 to
6c33d31
Compare
Contributor
Author
|
Running this with the everything server on modelcontextprotocol/typescript-sdk#1096:
|
Enables conformance test to opt into client-side elicitation defaults by setting the applyDefaults capability flag.
9 tasks
pcarleton
approved these changes
Nov 11, 2025
Member
pcarleton
left a comment
There was a problem hiding this comment.
TODO: come back and add test file b/c current example fails w/o ts-sdk update.
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 test to validate that MCP clients properly apply default values for omitted elicitation fields as required by SEP-1034.
Motivation and Context
SEP-1034 specifies that clients SHOULD apply default values when users omit optional fields in elicitation responses. This PR adds conformance tests to verify this client-side behavior.
How Has This Been Tested?
server.request()instead ofelicitInput()to ensure true client-side default application is testedBreaking Changes
None.
Types of changes
Checklist
Additional context
This test complements the existing server-side test (which validates servers advertise defaults in schemas). The client-side test validates that client SDKs automatically fill in defaults when users return partial/empty content.