From ce31ffe2c9552ed0395a8d653c0f18b0457eaaca Mon Sep 17 00:00:00 2001 From: Vikram Vaswani <2571660+vvaswani@users.noreply.github.com> Date: Sat, 31 Jan 2026 11:21:52 +0530 Subject: [PATCH 1/2] fix: align tool context use Signed-off-by: Vikram Vaswani <2571660+vvaswani@users.noreply.github.com> --- src/google/adk/tools/mcp_tool/mcp_tool.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/google/adk/tools/mcp_tool/mcp_tool.py b/src/google/adk/tools/mcp_tool/mcp_tool.py index a5b598fd81..525c089b5c 100644 --- a/src/google/adk/tools/mcp_tool/mcp_tool.py +++ b/src/google/adk/tools/mcp_tool/mcp_tool.py @@ -151,8 +151,15 @@ async def run_async( self, *, args: dict[str, Any], tool_context: ToolContext ) -> Any: if isinstance(self._require_confirmation, Callable): + args_to_call = args.copy() + try: + signature = inspect.signature(self._require_confirmation) + if "tool_context" in signature.parameters: + args_to_call["tool_context"] = tool_context + except (TypeError, ValueError): + args_to_call = args require_confirmation = await self._invoke_callable( - self._require_confirmation, args + self._require_confirmation, args_to_call ) else: require_confirmation = bool(self._require_confirmation) From ca1d8c712d86951d8010eb752641de6ca1ec309e Mon Sep 17 00:00:00 2001 From: Vikram Vaswani <2571660+vvaswani@users.noreply.github.com> Date: Sat, 31 Jan 2026 11:42:27 +0530 Subject: [PATCH 2/2] add feedback Signed-off-by: Vikram Vaswani <2571660+vvaswani@users.noreply.github.com> --- src/google/adk/tools/mcp_tool/mcp_tool.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/google/adk/tools/mcp_tool/mcp_tool.py b/src/google/adk/tools/mcp_tool/mcp_tool.py index 525c089b5c..08a1ba22a6 100644 --- a/src/google/adk/tools/mcp_tool/mcp_tool.py +++ b/src/google/adk/tools/mcp_tool/mcp_tool.py @@ -151,13 +151,14 @@ async def run_async( self, *, args: dict[str, Any], tool_context: ToolContext ) -> Any: if isinstance(self._require_confirmation, Callable): - args_to_call = args.copy() + args_to_call = args try: signature = inspect.signature(self._require_confirmation) if "tool_context" in signature.parameters: + args_to_call = args.copy() args_to_call["tool_context"] = tool_context except (TypeError, ValueError): - args_to_call = args + pass require_confirmation = await self._invoke_callable( self._require_confirmation, args_to_call )