Add conformance tests for SEP-1036 URL mode elicitation#44
Closed
felixweinberger wants to merge 8 commits intomainfrom
Closed
Add conformance tests for SEP-1036 URL mode elicitation#44felixweinberger wants to merge 8 commits intomainfrom
felixweinberger wants to merge 8 commits intomainfrom
Conversation
Implements conformance tests for SEP-1036 which adds URL mode elicitation to MCP. The tests validate: - URL mode request format (mode, url, elicitationId, message fields) - URL mode response structure (action without content) - URLElicitationRequiredError structure and error code (-32042) Also updates existing elicitation tools to include explicit mode: 'form' as required by the SEP-1036 schema changes.
- Use elicitInput() instead of raw request() for proper capability checking - Add completion notification test (notifications/elicitation/complete) - Add test_elicitation_sep1036_complete tool to everything-server
- Add ElicitationUrlModeScenario to pending list since SDK doesn't yet export URL mode elicitation support - Define ElicitationCompleteNotificationSchema locally until SDK releases it
4510671 to
6a75bbb
Compare
commit: |
Define URL_ELICITATION_REQUIRED_CODE and UrlModeElicitParams locally since they don't exist in the released SDK yet.
pcarleton
previously approved these changes
Nov 25, 2025
Member
pcarleton
left a comment
There was a problem hiding this comment.
overall LGTM, think it just needs to update based on sdk changes
if we want to get more advanced with this in the future, we can have handlers for the URL's provided and check they have a GET request on them before proceeding. that would handle the "error -> elicit -> retry" flow
9 tasks
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-1036 which introduces URL mode elicitation for out-of-band user interactions.
Summary
elicitInput()instead of rawrequest()for proper capability checkingMotivation and Context
SEP-1036 introduces URL mode elicitation, allowing servers to direct users to external URLs for out-of-band authentication, payment confirmation, or other interactions. These conformance tests ensure SDK implementations correctly handle the URL elicitation flow including the completion notification.
How Has This Been Tested?
Breaking Changes
None.
Types of changes
Checklist
Note
This PR requires SDK version with SEP-1036 support (not yet released in 1.22.0). Currently tested with linked local SDK.