From e91605e0c4848d7eeda09110be295a531d114832 Mon Sep 17 00:00:00 2001 From: "open-swe[bot]" Date: Fri, 14 Nov 2025 14:46:12 +0000 Subject: [PATCH] Apply patch [skip ci] --- libs/langchain_v1/langchain/agents/factory.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/libs/langchain_v1/langchain/agents/factory.py b/libs/langchain_v1/langchain/agents/factory.py index d9ac4e61a76..5d4a6172e1c 100644 --- a/libs/langchain_v1/langchain/agents/factory.py +++ b/libs/langchain_v1/langchain/agents/factory.py @@ -64,6 +64,23 @@ if TYPE_CHECKING: STRUCTURED_OUTPUT_ERROR_TEMPLATE = "Error: {error}\n Please fix your mistakes." +class MCPSessionConfig(TypedDict): + """Configuration for MCP session management in agents. + + When provided, enables stateful session management for MCP tools, + maintaining persistent connections across multiple tool invocations. + """ + + client: Required[Any] + """The MCP client instance (e.g., MultiServerMCPClient).""" + + server_name: Required[str] + """The name of the MCP server to connect to (e.g., 'playwright', 'database').""" + + auto_cleanup: NotRequired[bool] + """Whether to automatically cleanup the session when the agent is destroyed. Defaults to True.""" + + def _normalize_to_model_response(result: ModelResponse | AIMessage) -> ModelResponse: """Normalize middleware return value to ModelResponse.""" if isinstance(result, AIMessage): @@ -1643,3 +1660,4 @@ __all__ = [ "create_agent", ] +