fastmcp/tests/server
Jeremiah Lowin 5f941be5a3
Fix stale request context in StatefulProxyClient handlers (#3172)
* fix: restore request context in StatefulProxyClient handlers

StatefulProxyClient reuses sessions across requests, so its receive-loop
task inherits a stale request_ctx ContextVar from the first request.
Server-initiated messages (elicitation, sampling, etc.) that depend on
related_request_id routing get sent to a closed stream and hang forever.

Closes #3169

* chore: Update SDK documentation

---------

Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-12 17:13:23 -05:00
..
auth Support async auth checks (#3152) 2026-02-11 12:48:51 -05:00
http Exclude content-type header from get_http_headers() to prevent HTTP 415 errors (#3104) 2026-02-06 20:19:36 -05:00
middleware Make $ref dereferencing optional via FastMCP(dereference_refs=...) (#3151) 2026-02-11 13:45:37 -05:00
mount Expose local_provider property, deprecate FastMCP.remove_tool() (#3155) 2026-02-11 19:37:19 -06:00
providers Fix stale request context in StatefulProxyClient handlers (#3172) 2026-02-12 17:13:23 -05:00
sampling Add helpers for converting FunctionTool and TransformedTool to SamplingTool (#3062) 2026-02-11 19:43:03 -06:00
tasks fix: snapshot access token for background tasks (#3095) (#3138) 2026-02-11 10:20:14 -05:00
telemetry Add component versioning and VersionFilter transform (#2894) 2026-01-16 20:53:18 -05:00
transforms Fix session visibility marks leaking across sessions (#3132) 2026-02-10 11:42:43 -05:00
versioning Consolidate test fixtures and refactor large test files (#2941) 2026-01-19 15:18:35 -05:00
__init__.py restore 1.x code 2025-04-09 11:54:42 -04:00
test_app_state.py Update docs and test 2025-06-20 13:06:48 -04:00
test_auth_integration.py Update FastMCP for MCP SDK 1.23.1 auth changes 2025-12-03 11:50:08 -05:00
test_context.py Support non-serializable values in Context.set_state (#3171) 2026-02-12 15:06:42 -06:00
test_dependencies.py Add Azure OBO dependencies, auth token injection, and documentation (#2918) 2026-02-09 20:06:57 -05:00
test_event_store.py Replace type: ignore[attr-defined] with isinstance assertions in tests (#2665) 2025-12-21 16:37:20 -05:00
test_file_server.py Add MCP-compliant pagination for list operations 2026-01-17 19:30:24 -05:00
test_icons.py Implement icon support (#2121) 2025-10-17 17:28:08 -04:00
test_input_validation.py Replace type: ignore[attr-defined] with isinstance assertions in tests (#2665) 2025-12-21 16:37:20 -05:00
test_log_level.py Refactor server.py into mixins (#2939) 2026-01-19 11:36:00 -05:00
test_logging.py Refactor server.py into mixins (#2939) 2026-01-19 11:36:00 -05:00
test_pagination.py fix: guard client pagination loops against misbehaving servers (#3167) 2026-02-12 13:19:02 -06:00
test_providers.py Unify discovery API: deduplicate at protocol layer only (#2919) 2026-01-18 21:01:53 -05:00
test_run_server.py Update tests for prompts 2025-06-04 16:37:41 -04:00
test_server.py Expose local_provider property, deprecate FastMCP.remove_tool() (#3155) 2026-02-11 19:37:19 -06:00
test_server_docket.py Make pydocket optional and unify DI systems (#2835) 2026-01-10 16:23:32 -05:00
test_server_lifespan.py fix: broaden combine_lifespans type to accept Mapping return types (#3005) 2026-01-28 15:54:59 -05:00
test_session_visibility.py Fix session visibility marks leaking across sessions (#3132) 2026-02-10 11:42:43 -05:00
test_streamable_http_no_redirect.py Improve redirect handling to address 307's (#1387) 2025-08-08 11:55:30 -04:00
test_tool_annotations.py Unify discovery API: deduplicate at protocol layer only (#2919) 2026-01-18 21:01:53 -05:00
test_tool_transformation.py Stop duplicating path parameter descriptions into tool prose (#3149) 2026-02-11 11:34:11 -05:00