Jeremiah Lowin
1a788cf349
Merge remote-tracking branch 'origin/main' into feature/client-auto-default
...
# Conflicts:
# tests/client/test_streamable_http.py
# tests/server/middleware/test_initialization_middleware.py
# tests/server/tasks/test_task_status_notifications.py
2026-07-20 12:02:38 -04:00
Marcelo Trylesinski
7934124fb5
Make transformed tool required order deterministic ( #4564 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-20 07:12:45 -05:00
Jeremiah Lowin
d2ac7ed3d2
Default fastmcp.Client to mode="auto"; surface extensions=/result_claims=
...
Client negotiates the newest mutual protocol era by default (probe
server/discover, fall back to the initialize handshake). ProxyClient and the
inspect utility explicitly pin the handshake era so proxy forwarding and
server_info reads are unchanged. SSE and multi-server config transports are
legacy-only. extensions= and result_claims= (SEP-2133) are thin passthroughs
to the SDK session.
2026-07-19 21:22:49 -04:00
Jeremiah Lowin
6a6fdcb2bb
Repoint tests and examples off removed deprecations
...
Replaces FastMCP.as_proxy() helper calls with create_proxy(), rewrites the
mount() as_proxy=/prefix= kwarg tests to plain mount() (the params are gone),
and deletes deprecation-only tests for as_proxy() and remove_tool().
2026-07-07 07:53:11 -04:00
Jeremiah Lowin
3522a98766
Migrate to MCP Python SDK v2 ( #4437 )
2026-07-06 17:36:45 -04:00
Jeremiah Lowin
dc4b0e202d
fix(tools): honor serialize_by_alias in tool result serialization ( #4391 )
2026-06-27 10:24:39 -04:00
Sarthak Bhardwaj
b8597f941d
fix(tool_transform): hoist $defs to schema root when ArgTransform introduces them ( #4101 )
2026-05-07 11:10:52 -04:00
Bill Easton
d0bcec979c
fix: TransformedTool sync fn crash and schema mutation ( #3823 )
...
* fix: TransformedTool sync fn crash, schema mutation, output_schema=False
- Handle sync transform_fn in run() using is_coroutine_function check
instead of unconditionally awaiting (fixes TypeError crash)
- Deep copy parent property schemas to prevent mutation corruption
- Accept output_schema=False via BeforeValidator (converts to None)
- Remove inaccurate docstring claiming str/None shorthand for transform_args
Fixes #3821
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Add regression tests for sync transform_fn and schema mutation
🤖 Generated with Claude Code
Co-authored-by: Jeremiah Lowin <jeremiah@lowin.dev>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
Co-authored-by: Jeremiah Lowin <jeremiah@lowin.dev>
2026-04-11 11:50:23 -04:00
Jeremiah Lowin
360c9c31e5
fix: resolve Pyright "Module is not callable" on @tool, @resource, @prompt decorators ( #3540 )
...
* pin pydantic-monty to 0.0.8
* rename tool/prompt/resource base modules to avoid decorator name shadow
* add sys.modules shims for old submodule import paths
* preserve original module paths in deprecation warnings
* clarify when sys.modules shims can be removed
2026-03-17 18:11:42 -04:00
Jeremiah Lowin
b0b3a6dd95
fix: use raw strings for regex in pytest.raises match ( #3523 )
2026-03-15 15:14:15 -04:00
Jeremiah Lowin
d316f193a8
Fix transform arg collisions with passthrough params ( #3431 )
...
🤖 Generated with GPT-5.2-Codex
2026-03-07 11:41:07 -05:00
Jeremiah Lowin
b894a0b747
Accept callables in Tool.from_tool() ( #3235 )
...
* Accept callables in Tool.from_tool()
* chore: Update SDK documentation
* Add end-to-end client test for decorated function transform
---------
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-19 11:31:13 -05:00
Jeremiah Lowin
fe57c3d689
Make $ref dereferencing optional via FastMCP(dereference_refs=...) ( #3151 )
...
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-11 13:45:37 -05:00
Jeremiah Lowin
23bfdf0680
Consolidate test fixtures and refactor large test files ( #2941 )
2026-01-19 15:18:35 -05:00