fastmcp.server.middleware.timing

Timing middleware for measuring and logging request performance.

Classes

TimingMiddleware

Middleware that logs the execution time of requests. Only measures and logs timing for request messages (not notifications). Provides insights into performance characteristics of your MCP server. Methods:

on_request

on_request(self, context: MiddlewareContext, call_next: CallNext) -> Any
Time request execution and log the results.

DetailedTimingMiddleware

Enhanced timing middleware with per-operation breakdowns. Provides detailed timing information for different types of MCP operations, allowing you to identify performance bottlenecks in specific operations. Methods:

on_call_tool

on_call_tool(self, context: MiddlewareContext, call_next: CallNext) -> Any
Time tool execution.

on_read_resource

on_read_resource(self, context: MiddlewareContext, call_next: CallNext) -> Any
Time resource reading.

on_get_prompt

on_get_prompt(self, context: MiddlewareContext, call_next: CallNext) -> Any
Time prompt retrieval.

on_list_tools

on_list_tools(self, context: MiddlewareContext, call_next: CallNext) -> Any
Time tool listing.

on_list_resources

on_list_resources(self, context: MiddlewareContext, call_next: CallNext) -> Any
Time resource listing.

on_list_resource_templates

on_list_resource_templates(self, context: MiddlewareContext, call_next: CallNext) -> Any
Time resource template listing.

on_list_prompts

on_list_prompts(self, context: MiddlewareContext, call_next: CallNext) -> Any
Time prompt listing.