From 9d173ba4fe5d799455ab5c2fe4a1d9e9e12010d2 Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Thu, 15 Jan 2026 17:14:58 +0900 Subject: [PATCH] fix: prevent MCP type objects from being captured in locals() --- litellm/main.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/litellm/main.py b/litellm/main.py index e32d05a81d0..969cf55a3d6 100644 --- a/litellm/main.py +++ b/litellm/main.py @@ -1095,6 +1095,9 @@ def completion( # type: ignore # noqa: PLR0915 # validate tool_choice tool_choice = validate_chat_completion_tool_choice(tool_choice=tool_choice) + ######### unpacking kwargs ##################### + args = locals() + skip_mcp_handler = kwargs.pop("_skip_mcp_handler", False) if not skip_mcp_handler and tools: from litellm.responses.mcp.chat_completions_handler import ( @@ -1154,8 +1157,6 @@ def completion( # type: ignore # noqa: PLR0915 shared_session=shared_session, **kwargs, ) - ######### unpacking kwargs ##################### - args = locals() api_base = kwargs.get("api_base", None) mock_response: Optional[MOCK_RESPONSE_TYPE] = kwargs.get("mock_response", None) mock_tool_calls = kwargs.get("mock_tool_calls", None)