fastmcp/tests/resources
nate nowack c68bed0ab2
resources: accept non-exploded list query params as comma-joined values (#5218)
#5206 made a `{?tags}` query param on a list-typed function parameter fail
at registration, pointing at `{?tags*}`. 4.0.5 registered that shape, so a
server that shipped it stopped starting after a patch upgrade, and RFC 6570
section 3.2.8 defines it anyway: a non-exploded list is one comma-joined
value, with literal commas between items and `%2C` inside an item.

Templates now record their non-exploded list params and split those values
on literal commas before decoding. Expansion joins list items the same way,
where it previously emitted the percent-encoded Python repr. Mounts and
proxies forward the incoming query string byte for byte instead of
decoding and re-encoding it, since they cannot know which params hold
lists and would otherwise merge `a%2Cb,c` into a single item.


Claude-Session: https://claude.ai/code/session_01KfHgVhbYEhBCC5eSeqGiuG

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-22 16:07:20 -05:00
..
__init__.py restore 1.x code 2025-04-09 11:54:42 -04:00
test_file_resources.py Add encoding parameter to FileResource (#3580) 2026-03-22 09:55:16 -04:00
test_function_resources.py Migrate to MCP Python SDK v2 (#4437) 2026-07-06 17:36:45 -04:00
test_resource_security.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_resource_template.py resources: accept non-exploded list query params as comma-joined values (#5218) 2026-09-22 16:07:20 -05:00
test_resource_template_meta.py Migrate to MCP Python SDK v2 (#4437) 2026-07-06 17:36:45 -04:00
test_resource_template_query_params.py Raise ValueError for invalid boolean query params in resource templates (#3424) (#3434) 2026-03-07 11:40:29 -05:00
test_resources.py Move to the stable MCP Python SDK 2.0.0 (#4655) 2026-07-28 16:31:49 -04:00
test_standalone_decorator.py Migrate to MCP Python SDK v2 (#4437) 2026-07-06 17:36:45 -04:00