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.