The conformance client was just sleeping during sse-retry instead of
calling the test_reconnection tool. The MCP SDK transport already handles
SSE reconnection with Last-Event-ID correctly — we just needed to
trigger the stream closure by calling the tool.
Also added comprehensive documentation to the conformance client explaining:
- How the conformance framework works
- What each scenario expects
- Why each configuration decision was made
- Links to spec references for each scenario
Python client conformance: 20/20 (100%)
* fix(python): handle pre-registration and CIMD in conformance client
Configure OAuthClientProvider correctly for each auth scenario:
- Pre-registration: populate storage with client_id/secret from MCP_CONFORMANCE_CONTEXT
- CIMD: pass client_metadata_url for URL-based client IDs
- Use asyncio.get_running_loop() for reliable future creation
* fix(python): use correct CIMD URL for conformance test (conformance-test.local)
* fix(python): exercise tools in auth scenarios to trigger scope step-up
The conformance client was doing nothing after connecting in auth scenarios,
so the scope-step-up 403 flow never triggered. Now calls tools after auth
so httpx's OAuthClientProvider can handle the re-authorization.
Client conformance: 19/20 (was 18/20)
- Update Python conformance server with all required tool/resource/prompt names
- Add Python conformance client with headless OAuth for auth scenarios
- Add integration test (test_conformance.py) with 11 tests covering both runners
- Update CI workflow: test-type 'both', separate clients list
- Add SEP-1330 enum elicitation to TypeScript conformance server
Python server conformance: 30/30 (100%)
Python client conformance: 16/20 (80%) — 4 auth gaps in upstream SDK