mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-12 00:29:11 +02:00
60 lines
2 KiB
Text
60 lines
2 KiB
Text
---
|
|
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.
|
|
|