Prefect shipped FastMCP v4.0.10 (2026-09-25, PyPI fastmcp 4.0.10, “Inside Job”): task-enabled tools remain registered with the task backend even when hidden by Search transforms or CodeMode, and calls via `ctx.fastmcp.call_tool()` (including the search `call_tool` proxy and CodeMode `execute`) now return real results instead of empty task receipts. Also tolerates stdio transport construction failures in `__del__`. Docs at gofastmcp.com.

Key Takeaways

  • ✓Shipped: FastMCP v4.0.10 / PyPI fastmcp 4.0.10
  • ✓Tasks: tools hidden by Search/CodeMode still register with the task backend (#5262)
  • ✓Calls: ctx.fastmcp.call_tool() / CodeMode execute return real results, not empty task receipts (#5275)
  • ✓Stdio: __del__ tolerates failed transport construction (#5256)
  • ✓Docs: gofastmcp.com + repo changelog updated for v4.0.10
🔬

In-Depth Technical Analysis

Core Background & Industry Pain Points

MCP servers often hide tools behind Search transforms/CodeMode while using task-enabled tools for background work. FastMCP could leave hidden tasks unregistered with the backend, or return empty task receipts when another tool/resource/prompt called them via ctx.fastmcp.call_tool() / CodeMode execute—breaking composed agent toolchains. Stdio __del__ also noisy-failed when transport construction failed.

Architecture Highlights & Internals

v4.0.10 (2026-09-25, PyPI 4.0.10, “Inside Job”) keeps task tools registered even when hidden by Search/CodeMode, and foreground-runs cross-tool call_tool/execute so callers get real results (#5262/#5275). Stdio __del__ tolerates failed transport construction (#5256). Docs: gofastmcp.com.

Authoritative Benchmarks & Measured Scores

No public throughput/latency numbers—correctness-focused versus v4.0.9. Regression test: hidden task tools return non-empty results through call_tool/execute.

Developer Hands-on Guide

pip install -U fastmcp==4.0.10, retest Search/CodeMode servers that chain task tools via ctx.fastmcp.call_tool() or CodeMode execute. See release notes and PrefectHQ/fastmcp.