Server Tests: 37/40 passed (92.5%)
Client Tests: 3/4 scenarios passed (9/10 checks passed)
- Lifecycle & Utilities (4/4): initialize, ping, logging-set-level, completion-complete
- Tools (11/11): All scenarios including progress notifications ✨
- Elicitation (10/10): SEP-1034 defaults (5 checks), SEP-1330 enums (5 checks)
- Resources (4/6): list, read-text, read-binary, templates-read
- Prompts (4/4): list, simple, with-args, embedded-resource, with-image
- SSE Transport (2/2): Multiple streams
- Security (1/2): Localhost validation passes
- resources-subscribe - Not implemented in SDK
- resources-unsubscribe - Not implemented in SDK
- dns-rebinding-protection - Missing Host/Origin validation (1/2 checks)
- initialize (1/1): Protocol negotiation, clientInfo, capabilities
- tools_call (1/1): Tool discovery and invocation
- elicitation-sep1034-client-defaults (5/5): Default values for string, integer, number, enum, boolean
- sse-retry (1/2 + 1 warning):
- ✅ Reconnects after stream closure
- ❌ Does not respect retry timing
⚠️ Does not send Last-Event-ID header (SHOULD requirement)
Issue: Client treats retry: SSE field as invalid instead of parsing it for reconnection timing.
- Resource Subscriptions: SDK doesn't implement
resources/subscribeandresources/unsubscribehandlers - Client SSE Retry: Client doesn't parse or respect the
retry:field, reconnects immediately, and doesn't send Last-Event-ID header - DNS Rebinding Protection: Missing Host/Origin header validation in server transport
# Start server
cd conformance-tests/server-servlet
../../mvnw compile exec:java -Dexec.mainClass="io.modelcontextprotocol.conformance.server.ConformanceServlet"
# Run tests (in another terminal)
npx @modelcontextprotocol/conformance server --url http://localhost:8080/mcp --suite active# Build
cd conformance-tests/client-jdk-http-client
../../mvnw clean package -DskipTests
# Run all scenarios
for scenario in initialize tools_call elicitation-sep1034-client-defaults sse-retry; do
npx @modelcontextprotocol/conformance client \
--command "java -jar target/client-jdk-http-client-0.18.0-SNAPSHOT.jar" \
--scenario $scenario
done- Fix client SSE retry field handling in
HttpClientStreamableHttpTransport - Implement resource subscription handlers in
McpStatelessAsyncServer
- Add Host/Origin validation in
HttpServletStreamableServerTransportProviderfor DNS rebinding protection