Merged
Conversation
Introduces a new conformance-tests module with initial structure: - server-servlet: Placeholder servlet server with basic hello_world tool - client-jdk-http-client: Skeleton client implementation (not yet functional) This sets up the foundation for future conformance testing of the Java MCP SDK. Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
Expand conformance server to pass 36/40 official MCP tests (90%). - Add 15 tools covering all content types and behaviors - Add 4 prompts, 3 resources, 1 resource template - Implement completion, SEP-1034 and SEP-1330 elicitation - Enable proper server capabilities - Document validation results and testing instructions Known limitations: progress notifications timeout, resource subscriptions not implemented, DNS rebinding protection missing. Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
…ols_call scenarios Add JDK HTTP client conformance tests using Streamable HTTP transport. Implements two scenarios: initialize (handshake only) and tools_call (list and invoke add_numbers tool). Both scenarios pass conformance tests. Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
Implement remaining client conformance scenarios (excluding auth): - elicitation-sep1034-client-defaults: Validates default value application from JSON schemas (SEP-1034) - sse-retry: Tests SSE reconnection behavior (SEP-1699) Added createClientWithElicitation() method with elicitation handler that automatically applies defaults from schema properties. Handler supports string, integer, number, enum, and boolean default values. Test results for elicitation scenario: 5/5 checks passing - String defaults applied correctly - Integer defaults applied correctly - Number defaults applied correctly - Enum defaults applied correctly - Boolean defaults applied correctly Updated documentation with scenario descriptions and usage examples.
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
tzolov
previously approved these changes
Jan 30, 2026
Contributor
tzolov
left a comment
There was a problem hiding this comment.
LGTM,
One minor thing. Perhaps we can use logger instead of sys out in ConformanceJdkClientMcpClient.
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
Member
Author
The use of console.log('✅ Connection closed successfully');
console.error('❌ Error:', error); |
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.
Add a starting setup for conformance tests
Motivation and Context
In order to comply with the recently proposed SDK tiering system, this PR starts the path to regular conformance evaluation.
How Has This Been Tested?
The current setup uses the basic building blocks that leverage the JDK HttpClient and the Servlet spec and validate the synchronous stack.
Breaking Changes
None.
Types of changes
Checklist
Additional context
No.