Documentation Index Fetch the complete documentation index at: https://fastmcp-transfer-to-prefecthq.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
New in version 2.3.5
Use this when you need to track progress of long-running operations.
MCP servers can report progress during operations. The client receives these updates through a progress handler.
Progress Handler
Set a handler when creating the client:
from fastmcp import Client
async def progress_handler (
progress : float ,
total : float | None ,
message : str | None
) -> None :
if total is not None :
percentage = ( progress / total ) * 100
print ( f "Progress: { percentage :.1f } % - { message or '' } " )
else :
print ( f "Progress: { progress } - { message or '' } " )
client = Client (
" my_mcp_server.py " ,
progress_handler = progress_handler
)
The handler receives three parameters:
Handler Parameters Expected total value (may be None if unknown)
Per-Call Handler
Override the client-level handler for specific tool calls:
async with client :
result = await client . call_tool (
" long_running_task " ,
{ " param " : " value " },
progress_handler = my_progress_handler
)