View the source code for this module on GitHub: https://github.com/mcp-use/mcp-use/blob/main/libraries/python/mcp_use/server/middleware/middleware.py
CallNext
from mcp_use.server.middleware.middleware import CallNext
Middleware
from mcp_use.server.middleware.middleware import Middleware
method on_call_tool
ParametersReturnsServerMiddlewareContext[CallToolRequestParams]requiredParameter valueCallNext[CallToolRequestParams, Any]requiredParameter value
SignatureAny
def on_call_tool(
context: ServerMiddlewareContext[CallToolRequestParams],
call_next: CallNext[CallToolRequestParams,
Any]
):
method on_complete
ParametersReturnsServerMiddlewareContext[CompleteRequestParams]requiredParameter valueCallNext[CompleteRequestParams, Any]requiredParameter value
SignatureAny
def on_complete(
context: ServerMiddlewareContext[CompleteRequestParams],
call_next: CallNext[CompleteRequestParams,
Any]
):
method on_get_prompt
ParametersReturnsServerMiddlewareContext[GetPromptRequestParams]requiredParameter valueCallNext[GetPromptRequestParams, Any]requiredParameter value
SignatureAny
def on_get_prompt(
context: ServerMiddlewareContext[GetPromptRequestParams],
call_next: CallNext[GetPromptRequestParams,
Any]
):
method on_initialize
ParametersReturnsServerMiddlewareContext[InitializeRequestParams]requiredParameter valueCallNext[InitializeRequestParams, Any]requiredParameter value
SignatureAny
def on_initialize(
context: ServerMiddlewareContext[InitializeRequestParams],
call_next: CallNext[InitializeRequestParams,
Any]
):
method on_list_prompts
ParametersReturnsServerMiddlewareContext[PaginatedRequestParams | None]requiredParameter valueCallNext[PaginatedRequestParams | None, Any]requiredParameter value
SignatureAny
def on_list_prompts(
context: ServerMiddlewareContext[PaginatedRequestParams | None],
call_next: CallNext[PaginatedRequestParams | None,
Any]
):
method on_list_resources
ParametersReturnsServerMiddlewareContext[PaginatedRequestParams | None]requiredParameter valueCallNext[PaginatedRequestParams | None, Any]requiredParameter value
SignatureAny
def on_list_resources(
context: ServerMiddlewareContext[PaginatedRequestParams | None],
call_next: CallNext[PaginatedRequestParams | None,
Any]
):
method on_list_tools
ParametersReturnsServerMiddlewareContext[PaginatedRequestParams | None]requiredParameter valueCallNext[PaginatedRequestParams | None, Any]requiredParameter value
SignatureAny
def on_list_tools(
context: ServerMiddlewareContext[PaginatedRequestParams | None],
call_next: CallNext[PaginatedRequestParams | None,
Any]
):
method on_read_resource
ParametersReturnsServerMiddlewareContext[ReadResourceRequestParams]requiredParameter valueCallNext[ReadResourceRequestParams, Any]requiredParameter value
SignatureAny
def on_read_resource(
context: ServerMiddlewareContext[ReadResourceRequestParams],
call_next: CallNext[ReadResourceRequestParams,
Any]
):
method on_set_logging_level
ParametersReturnsServerMiddlewareContext[SetLevelRequestParams]requiredParameter valueCallNext[SetLevelRequestParams, Any]requiredParameter value
SignatureAny
def on_set_logging_level(
context: ServerMiddlewareContext[SetLevelRequestParams],
call_next: CallNext[SetLevelRequestParams,
Any]
):
method on_subscribe_resource
ParametersReturnsServerMiddlewareContext[SubscribeRequestParams]requiredParameter valueCallNext[SubscribeRequestParams, Any]requiredParameter value
SignatureAny
def on_subscribe_resource(
context: ServerMiddlewareContext[SubscribeRequestParams],
call_next: CallNext[SubscribeRequestParams,
Any]
):
method on_unsubscribe_resource
ParametersReturnsServerMiddlewareContext[UnsubscribeRequestParams]requiredParameter valueCallNext[UnsubscribeRequestParams, Any]requiredParameter value
SignatureAny
def on_unsubscribe_resource(
context: ServerMiddlewareContext[UnsubscribeRequestParams],
call_next: CallNext[UnsubscribeRequestParams,
Any]
):
MiddlewareManager
from mcp_use.server.middleware.middleware import MiddlewareManager
method process_request
ParametersReturnsServerMiddlewareContext[Any]requiredParameter valueCallable[[ServerMiddlewareContext[Any]], Awaitable[Any]]requiredParameter value
SignatureAny
def process_request(
context: ServerMiddlewareContext[Any],
handler: Callable[[ServerMiddlewareContext[Any]],
Awaitable[Any]]
):
ServerMiddlewareContext
from mcp_use.server.middleware.middleware import ServerMiddlewareContext
Attributes
T
required
Parameter value
str
required
String value
datetime
required
Parameter value
str
required
String value
str | None
required
MCP session instance
dict[str, str] | None
required
Dictionary of key-value pairs
str | None
required
MCP client instance
dict[str, Any]
required
Dictionary of key-value pairs
method init
ParametersSignatureTrequiredParameter valuestrrequiredString valuedatetimerequiredParameter valuestrrequiredString valuestr | Nonedefault:"None"MCP session instancedict[str, str] | Nonedefault:"None"Dictionary of key-value pairsstr | Nonedefault:"None"MCP client instancedict[str, Any]default:"<factory>"Dictionary of key-value pairs
def __init__(message: T, method: str, timestamp: datetime, transport: str, session_id: str | None = None, headers: dict[str, str] | None = None, client_ip: str | None = None, metadata: dict[str, Any] = <factory>):
ServerResponseContext
from mcp_use.server.middleware.middleware import ServerResponseContext