-
Notifications
You must be signed in to change notification settings - Fork 9
Add conformance tests for SEP-1036 URL mode elicitation #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
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
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
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.