docs/python-sdk/fastmcp-server-middleware-error_handling.mdx
fastmcp.server.middleware.error_handlingError handling middleware for consistent error responses and tracking.
ErrorHandlingMiddleware <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/middleware/error_handling.py#L18" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Middleware that provides consistent error handling and logging.
Catches exceptions, logs them appropriately, and converts them to proper MCP error responses. Also tracks error patterns for monitoring.
Methods:
on_message <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/middleware/error_handling.py#L120" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>on_message(self, context: MiddlewareContext, call_next: CallNext) -> Any
Handle errors for all messages.
get_error_stats <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/middleware/error_handling.py#L131" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>get_error_stats(self) -> dict[str, int]
Get error statistics for monitoring.
RetryMiddleware <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/middleware/error_handling.py#L136" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Middleware that implements automatic retry logic for failed requests.
Retries requests that fail with transient errors, using exponential backoff to avoid overwhelming the server or external dependencies.
Methods:
on_request <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/middleware/error_handling.py#L202" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>on_request(self, context: MiddlewareContext, call_next: CallNext) -> Any
Implement retry logic for requests.