Skip to main content

fastmcp.utilities.async_utils

Async utilities for FastMCP.

Functions

call_sync_fn_in_threadpool

call_sync_fn_in_threadpool(fn: Callable[..., Any], *args: Any, **kwargs: Any) -> Any
Call a sync function in a threadpool to avoid blocking the event loop. Uses anyio.to_thread.run_sync which properly propagates contextvars, making this safe for functions that depend on context (like dependency injection).

gather

gather(*awaitables: Awaitable[T]) -> list[T] | list[T | BaseException]
Run awaitables concurrently and return results in order. Uses anyio TaskGroup for structured concurrency. Args:
  • *awaitables: Awaitables to run concurrently
  • return_exceptions: If True, exceptions are returned in results. If False, first exception cancels all and raises.
Returns:
  • List of results in the same order as input awaitables.