fix(conformance): correct SEP-1330 enum schemas in test_elicitation_sep1330_enums#600
Merged
fix(conformance): correct SEP-1330 enum schemas in test_elicitation_sep1330_enums#600
Conversation
…eline file for expected test failures
…esponse format in ConformanceTools
…deFlow implementation
… directory resolution and disabling redundant shellcheck warning
…bump conformance tool version to 0.1.15
…ow implementation
fixes #589 ## How Has This Been Tested? conformance tests ## Breaking Changes NaN ## Types of changes - [x] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update ## Checklist - [x] I have read the [MCP Documentation](https://modelcontextprotocol.io) - [x] My code follows the repository's style guidelines - [x] New and existing tests pass locally - [ ] I have added appropriate error handling - [ ] I have added or updated documentation as needed
fixes #588 ## How Has This Been Tested? conformance test ## Breaking Changes NaN ## Types of changes - [x] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update ## Checklist - [x] I have read the [MCP Documentation](https://modelcontextprotocol.io) - [x] My code follows the repository's style guidelines - [x] New and existing tests pass locally - [ ] I have added appropriate error handling - [ ] I have added or updated documentation as needed
…ared factory method
…rios to matrix, and update conformance test baseline
…fine JWT assertion audience handling
Add configurable SSE reconnection with exponential backoff and server-driven retry delays to `StreamableHttpClientTransport` closes #590 closes #420 ## How Has This Been Tested? New unit tests and pass conformance test ## Breaking Changes old constructors are Deprecated `close` no longer calls `terminateSession` ## Types of changes - [x] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update ## Checklist - [x] I have read the [MCP Documentation](https://modelcontextprotocol.io) - [x] My code follows the repository's style guidelines - [x] New and existing tests pass locally - [x] I have added appropriate error handling - [x] I have added or updated documentation as needed
- Introduced `list` command in `run-conformance.sh` to display available scenarios. - Updated README with details about the new `list` command and its purpose.
… troubleshooting documentation - Integrate KotlinLogging for debug messages in `test_tool_with_logging`. - Add logging configuration via `simplelogger.properties`. - Expand README with network traffic capture tools and usage examples.
- Add `awaitCancellation()` to prevent premature stream closure in SSE handler.
…selines Following tests are now passing: - tools-call-with-logging - tools-call-with-progress - tools-call-sampling - tools-call-elicitation - elicitation-sep1034-defaults
…ep1330_enums - Fix legacyEnum: was using `oneOf` with const/title pairs; now correctly uses `enum` + `enumNames` arrays per LegacyEnumSchema spec - Fix titledMulti: items were using `oneOf` with extra `type:"string"`; now correctly uses `anyOf` per TitledMultiSelectEnumSchema spec - Fix return text format to match expected "Elicitation completed: action=..., content=..." - Remove _elicitation-sep1330-enums_ from conformance baseline (test now passes)
Merged
16 tasks
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
kpavlov
added a commit
that referenced
this pull request
Mar 12, 2026
…th retry support (#596) (#585) Adds a comprehensive conformance test suite for the Kotlin MCP SDK, covering core protocol operations, tool calls, elicitation, resources, prompts, and 20 OAuth/auth scenarios - Conformance server and client implementations - OAuth/auth test scenarios: JWT, authorization code flow, client credentials, PKCE, scope handling, cross-app access, client registration - CI workflow - Baseline file for tracking expected failures - Shell script fixes: - #592 - #593 - #596 ## Remaining known failures (tracked issues, will be fixed directly in `main`) - [x] `tools-call-with-logging`, `tools-call-with-progress`, `tools-call-sampling`, `tools-call-elicitation`, `elicitation-sep1034-defaults`- see #599, - [x] `elicitation-sep1330-enums` - #587 #600 - [x] `initialize` - #588 - [x] `tools_call`, `auth/scope-step-up`, `auth/scope-retry-limit` - #589 - [ ] `elicitation-sep1034-client-defaults` - #414 - [x] `sse-retry` - #590 - [ ] `resources-templates-read` - #591 ## Breaking Changes from #596 - `StreamableHttpClientTransport` and `mcpStreamableHttp`/`mcpStreamableHttpTransport`: old constructors accepting `Duration` timeout are now `@Deprecated` — use the new overloads with `ReconnectionOptions` instead - `StreamableHttpClientTransport.close()` no longer calls `terminateSession()` automatically ## Types of changes - [x] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [x] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update ## Checklist - [x] I have read the [MCP Documentation](https://modelcontextprotocol.io) - [x] My code follows the repository's style guidelines - [x] New and existing tests pass locally - [x] I have added appropriate error handling - [x] I have added or updated documentation as needed --------- Co-authored-by: Konstantin Pavlov <1517853+kpavlov@users.noreply.github.com>
# Conflicts: # conformance-test/README.md # conformance-test/conformance-baseline.yml # conformance-test/src/main/kotlin/io/modelcontextprotocol/kotlin/sdk/conformance/ConformanceTools.kt
devcrocod
approved these changes
Mar 12, 2026
Comment on lines
-117
to
-122
| | Scenario | Suite | Root Cause | | ||
| |---------------------------------------|--------|----------------------------------------------------------------------------------------------------------------| | ||
| | `elicitation-sep1330-enums` | server | *(same as above)* | | ||
| | `resources-templates-read` | server | SDK does not implement `addResourceTemplate()` with URI pattern matching; resources are looked up by exact URI | | ||
| | `elicitation-sep1034-client-defaults` | client | SDK does not fill in `default` values from the elicitation request schema before sending the response | | ||
|
|
Contributor
There was a problem hiding this comment.
I'm not sure it was worth removing this from the readme, since it’s more visible there and includes a brief description of the issue
Contributor
There was a problem hiding this comment.
btw, now we have two failed scenarios, so I don't think it’s a big problem
Contributor
Author
There was a problem hiding this comment.
It needs a bit more care, so it might not be the most valuable thing.
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.
Correct SEP-1330 enum schemas in test_elicitation_sep1330_enums
NB! This PR contains changes from #599 and should be rebased and merged after #599 is merged.
Update conformance test according to test requirements.
oneOfwith const/title pairs; now correctly usesenum+enumNamesarrays per LegacyEnumSchema speconeOfwith extratype:"string"; now correctly usesanyOfper TitledMultiSelectEnumSchema specHow Has This Been Tested?
Breaking Changes
No
Types of changes
Checklist