Documentation Index
Fetch the complete documentation index at: https://docs.mcp-use.com/llms.txt
Use this file to discover all available pages before exploring further.
View the source code for this module on GitHub: https://github.com/mcp-use/mcp-use/blob/main/libraries/python/mcp_use/client/middleware/middleware.py
- A typed MiddlewareContext to carry request data.
- A Middleware base class with a dispatcher that routes to strongly-typed hooks.
- A MiddlewareManager to build and execute the processing chain.
- A CallbackClientSession that acts as an adapter, creating the initial context without requiring changes to upstream callers like HttpConnector.
CallbackClientSession
from mcp_use.client.middleware.middleware import CallbackClientSession
method init
ParametersSignatureMCP session instanceConnector instanceMiddleware instance
def __init__(client_session: mcp.client.session.ClientSession, connector_id: str, middleware_manager: mcp_use.client.middleware.middleware.MiddlewareManager):
method call_tool
ParametersReturnsName identifierDictionary of key-value pairsParameter valueParameter value
Signature
def call_tool(name: str, arguments: dict[str, Any], args, kwargs):
MCPResponseContext
from mcp_use.client.middleware.middleware import MCPResponseContext
Attributes
String value
Parameter value
Parameter value
Parameter value
Dictionary of key-value pairs
Parameter value
method init
ParametersSignatureString valueParameter valueParameter valueParameter valueDictionary of key-value pairsParameter value
def __init__(request_id: str, result: Any, error: Exception | None, duration: float, metadata: dict[str, Any], jsonrpc_response: mcp.types.JSONRPCResponse | None = None):
Middleware
from mcp_use.client.middleware.middleware import Middleware
method call
Main entry point that orchestrates the chainParametersReturnsParameter valueParameter value
Signature
def __call__(
context: mcp_use.client.middleware.middleware.MiddlewareContext,
call_next: mcp_use.client.middleware.middleware.NextFunctionT
):
method on_call_tool
ParametersReturnsParameter valueParameter value
Signature
def on_call_tool(
context: mcp_use.client.middleware.middleware.MiddlewareContext,
call_next: mcp_use.client.middleware.middleware.NextFunctionT
):
method on_get_prompt
ParametersReturnsParameter valueParameter value
Signature
def on_get_prompt(
context: mcp_use.client.middleware.middleware.MiddlewareContext,
call_next: mcp_use.client.middleware.middleware.NextFunctionT
):
method on_initialize
ParametersReturnsParameter valueParameter value
Signature
def on_initialize(
context: mcp_use.client.middleware.middleware.MiddlewareContext,
call_next: mcp_use.client.middleware.middleware.NextFunctionT
):
method on_list_prompts
ParametersReturnsParameter valueParameter value
Signature
def on_list_prompts(
context: mcp_use.client.middleware.middleware.MiddlewareContext,
call_next: mcp_use.client.middleware.middleware.NextFunctionT
):
method on_list_resources
ParametersReturnsParameter valueParameter value
Signature
def on_list_resources(
context: mcp_use.client.middleware.middleware.MiddlewareContext,
call_next: mcp_use.client.middleware.middleware.NextFunctionT
):
method on_list_tools
ParametersReturnsParameter valueParameter value
Signature
def on_list_tools(
context: mcp_use.client.middleware.middleware.MiddlewareContext,
call_next: mcp_use.client.middleware.middleware.NextFunctionT
):
method on_read_resource
ParametersReturnsParameter valueParameter value
Signature
def on_read_resource(
context: mcp_use.client.middleware.middleware.MiddlewareContext,
call_next: mcp_use.client.middleware.middleware.NextFunctionT
):
method on_request
ParametersReturnsParameter valueParameter value
Signature
def on_request(
context: mcp_use.client.middleware.middleware.MiddlewareContext,
call_next: mcp_use.client.middleware.middleware.NextFunctionT
):
MiddlewareContext
from mcp_use.client.middleware.middleware import MiddlewareContext
method init
ParametersSignatureString valueString valueParameter valueString valueParameter valueDictionary of key-value pairs
def __init__(id: str, method: str, params: mcp_use.client.middleware.middleware.T, connection_id: str, timestamp: float, metadata: dict[str, Any] = <factory>):
MiddlewareManager
from mcp_use.client.middleware.middleware import MiddlewareManager
method process_request
Runs the full middleware chain, captures timing and errors,
and returns a structured MCPResponseContext.ParametersReturnsParameter valueParameter value
Signature
def process_request(
context: mcp_use.client.middleware.middleware.MiddlewareContext,
original_call: Callable
):
NextFunctionT
from mcp_use.client.middleware.middleware import NextFunctionT