fastmcp/tests
Jeremiah Lowin 59da3e4ed4
Decompose CodeMode into composable discovery tools (#3354)
* Decompose CodeMode into composable discovery tools

CodeMode now owns only the execute sandbox. Discovery tools (search,
get_schema, etc.) are composable via the discovery_tools parameter.
Each is a Callable[[GetToolCatalog], Tool] factory.

Ships SearchTool (lightweight name+description results) and SchemaTool
(brief markdown or full JSON schemas by tool name) as built-in defaults.

* Rename to Search/GetSchemas/Tags, add tag filtering, fix bugs

- Rename SearchTool→Search, SchemaTool→GetSchemas, Categories→Tags
- Add tags parameter to Search for LLM-side tag filtering
- Add Tags discovery tool for browsing tools by tag
- Fix shared singleton default factories (now per-instance)
- Fix get_schema full mode returning invalid JSON on partial matches
- Fix "untagged" filter inconsistency between Tags and Search
- Split serialization tests to comply with loq line limit
- Rewrite docs for conceptual clarity

* Add three-tier detail levels, remove default_arguments, rename Tags→GetTags, rewrite docs

* Clean up __all__ exports, return valid JSON for empty full-detail results
2026-03-02 16:35:55 -05:00
..
cli Address maintainer review: reload support, type annotation, test imports 2026-03-01 13:29:54 -05:00
client Bump tool sleep to actually validate timeout precedence 2026-03-02 13:50:29 -05:00
contrib Add session-specific visibility control via Context (#2917) 2026-01-18 22:31:06 -05:00
deprecated Remove deprecated FastMCP() constructor kwargs (#3148) 2026-02-11 11:39:34 -05:00
experimental Decompose CodeMode into composable discovery tools (#3354) 2026-03-02 16:35:55 -05:00
fs Add standalone decorators and eliminate fastmcp.fs module (#2832) 2026-01-10 12:16:35 -05:00
integration_tests Update repository references for transfer to prefecthq (#3207) 2026-02-18 10:33:56 -05:00
prompts Fix Field() handling in prompts (#3050) 2026-02-01 21:28:44 -05:00
resources Split large test files to comply with loq line limit (#3328) 2026-02-28 11:21:11 -05:00
server Replace vendored DI with uncalled-for (#3301) 2026-03-02 16:35:15 -05:00
telemetry Use standard traceparent/tracestate keys per OTel MCP semconv (#3221) 2026-02-18 15:51:24 -05:00
tools Fix NameError with future annotations and Context/Depends parameters (#3243) 2026-02-20 09:22:10 -05:00
utilities Split large test files to comply with loq line limit (#3328) 2026-02-28 11:21:11 -05:00
__init__.py Update type handling for resources 2024-11-29 19:42:46 -05:00
conftest.py Drop diskcache dependency (CVE-2025-69872) (#3185) 2026-02-16 16:43:15 -05:00
test_apps.py Rename ui= to app= and consolidate ToolUI/ResourceUI into AppConfig (#3117) 2026-02-08 20:26:47 -05:00
test_apps_prefab.py Add Prefab Apps integration for MCP tool UIs (#3316) 2026-02-27 14:37:57 -05:00
test_json_schema_generation.py fix: use SkipJsonSchema to exclude callable fields from JSON schema generation (#3048) 2026-02-01 21:30:48 -05:00
test_mcp_config.py Normalize repo references to PrefectHQ/fastmcp casing (#3218) 2026-02-18 14:51:18 -05:00