fastmcp/tests/utilities
Aidan Allchin b9cde3bdb6
Fix: Include signature modification in create_function_without_params (#2563)
* Fix: Include signature modification in create_function_without_params

When excluding parameters via create_function_without_params(), only
__annotations__ was being updated but not __signature__. This caused
Pydantic's _arguments_schema() to fail when it iterated over signature
parameters that didn't exist in the type hints dictionary.

The fix adds proper signature reconstruction matching the pattern used
in without_injected_parameters().
Fixes KeyError: 'ctx' when using @mcp.tool() with Context parameters.

* fix: add regression tests for create_function_without_params

The test_pydantic_typeadapter_compatibility test specifically reproduces the issue from #2562 and verifies the fix.

* fix: linter for test function

---------

Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2025-12-06 11:57:36 -05:00
..
openapi Switch to new OpenAPI parser as default (#2513) 2025-12-01 20:29:18 -05:00
__init__.py restore 1.x code 2025-04-09 11:54:42 -04:00
test_cli.py Fix path resolution in install commands (#1951) 2025-09-29 20:04:12 -04:00
test_components.py Ensure resource + template names are properly prefixed when importing/mounting (#1423) 2025-08-08 21:29:07 -04:00
test_inspect.py Add "High Value" Ruff Rules (#2255) 2025-10-26 10:20:31 -04:00
test_json_schema.py Fix: Remove JSON schema title metadata while preserving parameters named 'title' (#1872) 2025-09-23 10:19:34 -04:00
test_json_schema_type.py Fix type errors for ty 0.0.1-alpha.31 upgrade (#2561) 2025-12-05 21:29:14 -05:00
test_logging.py Fix duplicate keyword argument error in configure_logging (#2381) 2025-11-06 10:11:16 -05:00
test_tests.py Remove open-ended and server-specific settings 2025-06-07 20:20:04 -04:00
test_typeadapter.py Fix method-bound tools (#1360) 2025-08-04 09:41:05 -04:00
test_types.py Fix: Include signature modification in create_function_without_params (#2563) 2025-12-06 11:57:36 -05:00