From 857bb0b8ab675a465b4e670ec931dc3d652a7306 Mon Sep 17 00:00:00 2001 From: Andy Zhao Date: Fri, 17 Apr 2026 10:38:33 -0700 Subject: [PATCH 1/2] fix(mcp_tool): Temporarily disable Bound Token usage for mcp_tool --- src/google/adk/tools/mcp_tool/mcp_tool.py | 10 ++++++++++ src/google/adk/tools/mcp_tool/mcp_toolset.py | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/src/google/adk/tools/mcp_tool/mcp_tool.py b/src/google/adk/tools/mcp_tool/mcp_tool.py index 04ed799b17e..d6890821235 100644 --- a/src/google/adk/tools/mcp_tool/mcp_tool.py +++ b/src/google/adk/tools/mcp_tool/mcp_tool.py @@ -18,6 +18,7 @@ import base64 import inspect import logging +import os from typing import Any from typing import Callable from typing import Dict @@ -169,6 +170,14 @@ def __init__( Raises: ValueError: If mcp_tool or mcp_session_manager is None. """ + + # --- BEGIN BOUND TOKEN PATCH --- + # Set GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES to false + # to disable bound token sharing. Tracking on + # https://github.com/google/adk-python/issues/5361 + os.environ['GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES'] = 'false' + # --- END BOUND TOKEN PATCH --- + super().__init__( name=mcp_tool.name, description=mcp_tool.description if mcp_tool.description else "", @@ -178,6 +187,7 @@ def __init__( if auth_scheme else None, ) + self._mcp_tool = mcp_tool self._mcp_session_manager = mcp_session_manager self._require_confirmation = require_confirmation diff --git a/src/google/adk/tools/mcp_tool/mcp_toolset.py b/src/google/adk/tools/mcp_tool/mcp_toolset.py index a412cf2a4ea..a507614dc8b 100644 --- a/src/google/adk/tools/mcp_tool/mcp_toolset.py +++ b/src/google/adk/tools/mcp_tool/mcp_toolset.py @@ -17,6 +17,7 @@ import asyncio import base64 import logging +import os import sys from typing import Any from typing import Awaitable @@ -158,6 +159,13 @@ def __init__( sampling_capabilities: Optional capabilities for sampling. """ + # --- BEGIN BOUND TOKEN PATCH --- + # Set GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES to false + # to disable bound token sharing. Tracking on + # https://github.com/google/adk-python/issues/5361 + os.environ['GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES'] = 'false' + # --- END BOUND TOKEN PATCH --- + super().__init__(tool_filter=tool_filter, tool_name_prefix=tool_name_prefix) self._sampling_callback = sampling_callback From 63a5d1c4389a56a09f096e608c1295a7c2f6c771 Mon Sep 17 00:00:00 2001 From: Andy Zhao Date: Fri, 17 Apr 2026 11:11:29 -0700 Subject: [PATCH 2/2] fix(mcp_tool): format with pyink --- src/google/adk/tools/mcp_tool/mcp_tool.py | 4 +++- src/google/adk/tools/mcp_tool/mcp_toolset.py | 4 +++- 2 files changed, 6 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 d6890821235..147f71bd15c 100644 --- a/src/google/adk/tools/mcp_tool/mcp_tool.py +++ b/src/google/adk/tools/mcp_tool/mcp_tool.py @@ -175,7 +175,9 @@ def __init__( # Set GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES to false # to disable bound token sharing. Tracking on # https://github.com/google/adk-python/issues/5361 - os.environ['GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES'] = 'false' + os.environ["GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES"] = ( + "false" + ) # --- END BOUND TOKEN PATCH --- super().__init__( diff --git a/src/google/adk/tools/mcp_tool/mcp_toolset.py b/src/google/adk/tools/mcp_tool/mcp_toolset.py index 34ef712833f..5c553288789 100644 --- a/src/google/adk/tools/mcp_tool/mcp_toolset.py +++ b/src/google/adk/tools/mcp_tool/mcp_toolset.py @@ -163,7 +163,9 @@ def __init__( # Set GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES to false # to disable bound token sharing. Tracking on # https://github.com/google/adk-python/issues/5361 - os.environ['GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES'] = 'false' + os.environ["GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES"] = ( + "false" + ) # --- END BOUND TOKEN PATCH --- super().__init__(tool_filter=tool_filter, tool_name_prefix=tool_name_prefix)