fastmcp/tests/client
nate nowack 2a2080c6c7
add independent client groups (#4904)
* feat(client): add experimental independent client groups

🤖 Generated with Pi

* refactor(client): narrow client group naming policy

🤖 Generated with Pi

* fix(client): avoid repeated discovery for unknown tools

🤖 Generated with Pi

* feat(client): expose client group tool routes

🤖 Generated with Pi

* docs(client): compare client and session groups

🤖 Generated with Pi

* docs(client): clarify modern session group gap

🤖 Generated with OpenAI Codex

* refactor(client): align client group call signatures with Client

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DrQJXPeMepQgJay5xF91yE

* docs(client): cross-link client groups from multi-server config docs

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DrQJXPeMepQgJay5xF91yE

* refactor(client): promote client group out of experimental

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DrQJXPeMepQgJay5xF91yE

* fix(client): harden client group invariants

Immutable membership, race-free group entry, and per-route connection checks so one dead server does not fail calls routed to healthy servers.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DrQJXPeMepQgJay5xF91yE

* test(client): satisfy ty on immutable membership test

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DrQJXPeMepQgJay5xF91yE

* perf(client): connect group clients concurrently

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DrQJXPeMepQgJay5xF91yE

* fix(client): refresh group catalog past client response caches

Explicit group.list_tools() now defaults to cache_mode='refresh' via a new cache_mode parameter on Client.list_tools, so a cache-hinted server cannot leave the documented refresh mechanism serving a stale catalog. Lazy cold-start discovery still allows cache hits.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DrQJXPeMepQgJay5xF91yE

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 21:21:48 -05:00
..
auth fix(ci): satisfy latest ty control-flow checks (#4928) 2026-08-27 14:54:44 -05:00
client Forward proxy server metadata across protocol eras (#4776) 2026-08-06 19:09:05 -04:00
group add independent client groups (#4904) 2026-08-27 21:21:48 -05:00
sampling Migrate to MCP Python SDK v2 (#4437) 2026-07-06 17:36:45 -04:00
telemetry Add SEP-2663 client half: transparent call_tool, ResultClaim, Task handle 2026-07-22 15:21:10 -04:00
transports Remove obsolete Docket memory fixtures (#4912) 2026-08-27 11:08:04 -05:00
__init__.py clean up test inits 2025-05-31 19:32:08 -04:00
minimal_stdio_server.py Make the unit suite fast: in-process HTTP tests, no real sleeps, parallel Windows CI (#4554) 2026-07-20 10:51:14 -04:00
test_client_extensions.py Add SEP-2663 client half: transparent call_tool, ResultClaim, Task handle 2026-07-22 15:21:10 -04:00
test_elicitation.py Remove 3.x-era compatibility shims (#4661) 2026-07-27 14:59:43 -04:00
test_elicitation_enums.py Default fastmcp.Client to mode="auto"; surface extensions=/result_claims= 2026-07-19 21:22:49 -04:00
test_logs.py Audit tests/client/ mode="legacy" pins 2026-07-20 15:43:04 -04:00
test_notifications.py Migrate to MCP Python SDK v2 (#4437) 2026-07-06 17:36:45 -04:00
test_oauth_callback_race.py Make the unit suite fast: in-process HTTP tests, no real sleeps, parallel Windows CI (#4554) 2026-07-20 10:51:14 -04:00
test_oauth_callback_xss.py Escape all HTML to prevent XSS attack (#2090) 2025-10-14 12:30:21 -07:00
test_openapi.py Audit tests/client/ mode="legacy" pins 2026-07-20 15:43:04 -04:00
test_progress.py Guard default progress handler against zero totals (#3432) 2026-03-07 11:41:11 -05:00
test_roots.py Merge remote-tracking branch 'origin/main' into modern-merge 2026-07-26 14:53:31 -04:00
test_sampling.py Silence ty deprecation diagnostics and drop stale sampling doc mentions 2026-07-26 14:45:55 -04:00
test_slim_package_boundaries.py Make the unit suite fast: in-process HTTP tests, no real sleeps, parallel Windows CI (#4554) 2026-07-20 10:51:14 -04:00
test_sse.py Make the unit suite fast: in-process HTTP tests, no real sleeps, parallel Windows CI (#4554) 2026-07-20 10:51:14 -04:00
test_stdio.py Fix flaky stdio crash-recovery tests: assert eventual recovery (#4594) 2026-07-22 08:01:37 -04:00
test_streamable_http.py Audit tests/client/ mode="legacy" pins 2026-07-20 15:43:04 -04:00