Spaces:
Running
Running
| --- | |
| title: error_handling | |
| sidebarTitle: error_handling | |
| --- | |
| # `fastmcp.server.middleware.error_handling` | |
| Error handling middleware for consistent error responses and tracking. | |
| ## Classes | |
| ### `ErrorHandlingMiddleware` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/middleware/error_handling.py#L15" 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/jlowin/fastmcp/blob/main/src/fastmcp/server/middleware/error_handling.py#L110" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| on_message(self, context: MiddlewareContext, call_next: CallNext) -> Any | |
| ``` | |
| Handle errors for all messages. | |
| #### `get_error_stats` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/middleware/error_handling.py#L121" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| get_error_stats(self) -> dict[str, int] | |
| ``` | |
| Get error statistics for monitoring. | |
| ### `RetryMiddleware` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/middleware/error_handling.py#L126" 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/jlowin/fastmcp/blob/main/src/fastmcp/server/middleware/error_handling.py#L182" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| on_request(self, context: MiddlewareContext, call_next: CallNext) -> Any | |
| ``` | |
| Implement retry logic for requests. | |