fastmcp/tests/tools/tool
Jeremiah Lowin baced6281c
Always emit a tool title, derived from name when unset (#4694)
* Always emit a tool title, derived from name when unset

Some MCP clients (e.g. ChatGPT) drop tools with no `title` instead of
falling back to `name` for display as the spec allows. Deriving a
default title in Tool.to_mcp_tool() fixes this for every tool built on
top of it, including the search-transform, code-mode, and session
proxy tools that never set one explicitly.

Fixes #4414

* Derive fallback title from the overridden name, document it

Addresses Codex review on #4694.

* Resolve title precedence from effective overrides

* Normalize mapping annotations before deriving the title
2026-07-28 17:30:20 -04:00
..
__init__.py Consolidate test fixtures and refactor large test files (#2941) 2026-01-19 15:18:35 -05:00
test_argument_validation.py Move task subsystem to fastmcp-tasks package, disconnect SEP-1686 wire from core 2026-07-21 21:51:45 -04:00
test_callable.py Migrate to MCP Python SDK v2 (#4437) 2026-07-06 17:36:45 -04:00
test_content.py Migrate to MCP Python SDK v2 (#4437) 2026-07-06 17:36:45 -04:00
test_output_schema.py Preserve raw CallToolResult returns (#4587) 2026-07-23 15:10:42 -05:00
test_results.py Move to the stable MCP Python SDK 2.0.0 (#4655) 2026-07-28 16:31:49 -04:00
test_title.py Always emit a tool title, derived from name when unset (#4694) 2026-07-28 17:30:20 -04:00
test_tool.py Reject positional-only tool parameters (#4524) 2026-07-17 17:37:28 -04:00