Skip to main content
Core middleware system for MCP requests. This module provides a robust and extensible middleware architecture:
  • 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

method init

Parameters
mcp.client.session.ClientSession
required
MCP session instance
str
required
Connector instance
mcp_use.client.middleware.middleware.MiddlewareManager
required
Middleware instance
Signature

method call_tool

Parameters
str
required
Name identifier
dict[str, Any]
required
Dictionary of key-value pairs
required
Parameter value
required
Parameter value
Returns
mcp.types.CallToolResult
Signature

method get_prompt

Parameters
str
required
Name identifier
required
Parameter value
required
Parameter value
Returns
mcp.types.GetPromptResult
Signature

method initialize

Parameters
required
Parameter value
required
Parameter value
Returns
mcp.types.InitializeResult
Signature

method list_prompts

Parameters
required
Parameter value
required
Parameter value
Returns
mcp.types.ListPromptsResult
Signature

method list_resources

Parameters
required
Parameter value
required
Parameter value
Returns
mcp.types.ListResourcesResult
Signature

method list_tools

Parameters
required
Parameter value
required
Parameter value
Returns
mcp.types.ListToolsResult
Signature

method read_resource

Parameters
pydantic.networks.AnyUrl
required
Parameter value
required
Parameter value
required
Parameter value
Returns
mcp.types.ReadResourceResult
Signature

MCPResponseContext

Attributes
str
required
String value
Any
required
Parameter value
Exception | None
required
Parameter value
float
required
Parameter value
dict[str, Any]
required
Dictionary of key-value pairs
mcp.types.JSONRPCResponse | None
required
Parameter value

method init

Parameters
str
required
String value
Any
required
Parameter value
Exception | None
required
Parameter value
float
required
Parameter value
dict[str, Any]
required
Dictionary of key-value pairs
mcp.types.JSONRPCResponse | None
default:"None"
Parameter value
Signature

Middleware

method call

Main entry point that orchestrates the chainParameters
mcp_use.client.middleware.middleware.MiddlewareContext
required
Parameter value
mcp_use.client.middleware.middleware.NextFunctionT
required
Parameter value
Returns
Any
Signature

method on_call_tool

Parameters
mcp_use.client.middleware.middleware.MiddlewareContext
required
Parameter value
mcp_use.client.middleware.middleware.NextFunctionT
required
Parameter value
Returns
mcp.types.CallToolResult
Signature

method on_get_prompt

Parameters
mcp_use.client.middleware.middleware.MiddlewareContext
required
Parameter value
mcp_use.client.middleware.middleware.NextFunctionT
required
Parameter value
Returns
mcp.types.GetPromptResult
Signature

method on_initialize

Parameters
mcp_use.client.middleware.middleware.MiddlewareContext
required
Parameter value
mcp_use.client.middleware.middleware.NextFunctionT
required
Parameter value
Returns
mcp.types.InitializeResult
Signature

method on_list_prompts

Parameters
mcp_use.client.middleware.middleware.MiddlewareContext
required
Parameter value
mcp_use.client.middleware.middleware.NextFunctionT
required
Parameter value
Returns
mcp.types.ListPromptsResult
Signature

method on_list_resources

Parameters
mcp_use.client.middleware.middleware.MiddlewareContext
required
Parameter value
mcp_use.client.middleware.middleware.NextFunctionT
required
Parameter value
Returns
mcp.types.ListResourcesResult
Signature

method on_list_tools

Parameters
mcp_use.client.middleware.middleware.MiddlewareContext
required
Parameter value
mcp_use.client.middleware.middleware.NextFunctionT
required
Parameter value
Returns
mcp.types.ListToolsResult
Signature

method on_read_resource

Parameters
mcp_use.client.middleware.middleware.MiddlewareContext
required
Parameter value
mcp_use.client.middleware.middleware.NextFunctionT
required
Parameter value
Returns
mcp.types.ReadResourceResult
Signature

method on_request

Parameters
mcp_use.client.middleware.middleware.MiddlewareContext
required
Parameter value
mcp_use.client.middleware.middleware.NextFunctionT
required
Parameter value
Returns
Any
Signature

MiddlewareContext

Attributes
str
required
String value
str
required
String value
mcp_use.client.middleware.middleware.T
required
Parameter value
str
required
String value
float
required
Parameter value
dict[str, Any]
required
Dictionary of key-value pairs

method init

Parameters
str
required
String value
str
required
String value
mcp_use.client.middleware.middleware.T
required
Parameter value
str
required
String value
float
required
Parameter value
dict[str, Any]
default:"<factory>"
Dictionary of key-value pairs
Signature

MiddlewareManager

method init

Signature

method add_middleware

Add a middleware callback.Parameters
mcp_use.client.middleware.middleware.Middleware
required
Callback function
Signature

method process_request

Runs the full middleware chain, captures timing and errors, and returns a structured MCPResponseContext.Parameters
mcp_use.client.middleware.middleware.MiddlewareContext
required
Parameter value
Callable
required
Parameter value
Returns
mcp_use.client.middleware.middleware.MCPResponseContext
Signature

NextFunctionT

method init

Parameters
required
Parameter value
required
Parameter value
Signature

method call

Parameters
mcp_use.client.middleware.middleware.MiddlewareContext
required
Parameter value
Returns
mcp_use.client.middleware.middleware.R
Signature