Skip to content

Conversation

@felixweinberger
Copy link
Collaborator

Summary

Adds conformance tests for SEP-1330, which improves elicitation enum schema support using JSON Schema's oneOf/const/title pattern.

Tests included:

  • Untitled single-select enum - Uses enum array (type: string + enum)
  • Titled single-select enum - Uses oneOf with const/title pairs (SEP-1330 recommended)
  • Legacy titled enum - Uses enumNames alongside enum (deprecated but supported)
  • Untitled multi-select enum - Uses items.enum (type: array)
  • Titled multi-select enum - Uses items.anyOf with const/title pairs (SEP-1330 recommended)

Implementation:

  • New scenario: elicitation-sep1330-enums
  • Reference server tool: test_elicitation_sep1330_enums
  • Updated SERVER_REQUIREMENTS.md with tool specification

Testing

The conformance tests are designed to validate that servers properly construct elicitation requests with the correct JSON Schema patterns for enum types. These tests require an SDK implementation that supports SEP-1330.

Related

Breaking Changes

None.

Checklist

  • Tests validate all 5 enum schema variants
  • Reference server implementation provided
  • Documentation updated (SERVER_REQUIREMENTS.md)

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 11, 2025

Open in StackBlitz

npm i https://pkg.pr.new/modelcontextprotocol/conformance/@modelcontextprotocol/conformance@22

commit: 1f73ab5

@felixweinberger
Copy link
Collaborator Author

Tested together with modelcontextprotocol/typescript-sdk#1100

CleanShot 2025-11-11 at 16 37 29

Adds server-side conformance test that validates servers properly request
elicitation with SEP-1330 enum schema improvements:
- Untitled single-select enum (type: string, enum: [...])
- Titled single-select enum (oneOf with const/title)
- Legacy titled enum (enumNames for backward compatibility)
- Untitled multi-select enum (type: array, items.enum)
- Titled multi-select enum (items.anyOf with const/title)

Test expects server to implement `test_elicitation_sep1330_enums` tool.
Adds test_elicitation_sep1330_enums tool to everything-server that
requests elicitation with all 5 enum schema variants. Also updates
SERVER_REQUIREMENTS.md with full specification.
@felixweinberger felixweinberger force-pushed the fweinberger/sep-1330-test branch from 63500ac to 204160b Compare November 11, 2025 17:13
* refactor maps to pull names from the test

* bring names back

* separate active from pending

* only test active
@pcarleton pcarleton enabled auto-merge (squash) November 11, 2025 19:33
@pcarleton pcarleton merged commit e19918d into main Nov 11, 2025
7 checks passed
@pcarleton pcarleton deleted the fweinberger/sep-1330-test branch November 11, 2025 19:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants