@@ -918,7 +918,11 @@ from autogen_agentchat.agents import AssistantAgent
918918from autogen_core.tools import FunctionTool
919919from bedrock_agentcore.runtime import BedrockAgentCoreApp
920920from model.load import load_model
921+ { {#if hasGateway }}
922+ from mcp_client.client import get_all_gateway_mcp_tools
923+ { {else }}
921924from mcp_client.client import get_streamable_http_mcp_tools
925+ { {/if }}
922926
923927app = BedrockAgentCoreApp()
924928log = app.logger
@@ -943,7 +947,11 @@ async def invoke(payload, context):
943947 log.info("Invoking Agent.....")
944948
945949 # Get MCP Tools
950+ { {#if hasGateway }}
951+ mcp_tools = await get_all_gateway_mcp_tools()
952+ { {else }}
946953 mcp_tools = await get_streamable_http_mcp_tools()
954+ { {/if }}
947955 if mcp_tools is None:
948956 mcp_tools = []
949957
@@ -1617,7 +1625,11 @@ from google.adk.sessions import InMemorySessionService
16171625from google.genai import types
16181626from bedrock_agentcore.runtime import BedrockAgentCoreApp
16191627from model.load import load_model
1628+ { {#if hasGateway }}
1629+ from mcp_client.client import get_all_gateway_mcp_toolsets
1630+ { {else }}
16201631from mcp_client.client import get_streamable_http_mcp_client
1632+ { {/if }}
16211633
16221634app = BedrockAgentCoreApp()
16231635log = app.logger
@@ -1635,8 +1647,12 @@ def add_numbers(a: int, b: int) -> int:
16351647
16361648
16371649# Get MCP Toolset
1650+ { {#if hasGateway }}
1651+ mcp_toolset = get_all_gateway_mcp_toolsets()
1652+ { {else }}
16381653mcp_client = get_streamable_http_mcp_client()
16391654mcp_toolset = [mcp_client] if mcp_client else []
1655+ { {/if }}
16401656
16411657_credentials_loaded = False
16421658
@@ -1914,7 +1930,11 @@ from langgraph.prebuilt import create_react_agent
19141930from langchain.tools import tool
19151931from bedrock_agentcore.runtime import BedrockAgentCoreApp
19161932from model.load import load_model
1933+ { {#if hasGateway }}
1934+ from mcp_client.client import get_all_gateway_mcp_client
1935+ { {else }}
19171936from mcp_client.client import get_streamable_http_mcp_client
1937+ { {/if }}
19181938
19191939app = BedrockAgentCoreApp()
19201940log = app.logger
@@ -1944,7 +1964,11 @@ async def invoke(payload, context):
19441964 log.info("Invoking Agent.....")
19451965
19461966 # Get MCP Client
1967+ { {#if hasGateway }}
1968+ mcp_client = get_all_gateway_mcp_client()
1969+ { {else }}
19471970 mcp_client = get_streamable_http_mcp_client()
1971+ { {/if }}
19481972
19491973 # Load MCP Tools
19501974 mcp_tools = []
@@ -2315,13 +2339,22 @@ exports[`Assets Directory Snapshots > Python framework assets > python/python/op
23152339from agents import Agent, Runner, function_tool
23162340from bedrock_agentcore.runtime import BedrockAgentCoreApp
23172341from model.load import load_model
2342+ { {#if hasGateway }}
2343+ from mcp_client.client import get_all_gateway_mcp_servers
2344+ { {else }}
23182345from mcp_client.client import get_streamable_http_mcp_client
2346+ { {/if }}
23192347
23202348app = BedrockAgentCoreApp()
23212349log = app.logger
23222350
23232351# Get MCP Server
2352+ { {#if hasGateway }}
2353+ mcp_servers = get_all_gateway_mcp_servers()
2354+ { {else }}
23242355mcp_server = get_streamable_http_mcp_client()
2356+ mcp_servers = [mcp_server] if mcp_server else []
2357+ { {/if }}
23252358
23262359_credentials_loaded = False
23272360
@@ -2343,8 +2376,28 @@ def add_numbers(a: int, b: int) -> int:
23432376async def main(query):
23442377 ensure_credentials_loaded()
23452378 try:
2346- if mcp_server:
2347- async with mcp_server as server:
2379+ { {#if hasGateway }}
2380+ if mcp_servers:
2381+ agent = Agent(
2382+ name="{ { name }} ",
2383+ model="gpt-4.1",
2384+ mcp_servers=mcp_servers,
2385+ tools=[add_numbers]
2386+ )
2387+ result = await Runner.run(agent, query)
2388+ return result
2389+ else:
2390+ agent = Agent(
2391+ name="{ { name }} ",
2392+ model="gpt-4.1",
2393+ mcp_servers=[],
2394+ tools=[add_numbers]
2395+ )
2396+ result = await Runner.run(agent, query)
2397+ return result
2398+ { {else }}
2399+ if mcp_servers:
2400+ async with mcp_servers[0] as server:
23482401 active_servers = [server]
23492402 agent = Agent(
23502403 name="{ { name }} ",
@@ -2363,6 +2416,7 @@ async def main(query):
23632416 )
23642417 result = await Runner.run(agent, query)
23652418 return result
2419+ { {/if }}
23662420 except Exception as e:
23672421 log.error(f"Error during agent execution: { e } ", exc_info=True)
23682422 raise e
@@ -2621,7 +2675,11 @@ exports[`Assets Directory Snapshots > Python framework assets > python/python/st
26212675"from strands import Agent, tool
26222676from bedrock_agentcore.runtime import BedrockAgentCoreApp
26232677from model.load import load_model
2678+ { {#if hasGateway }}
2679+ from mcp_client.client import get_all_gateway_mcp_clients
2680+ { {else }}
26242681from mcp_client.client import get_streamable_http_mcp_client
2682+ { {/if }}
26252683{ {#if hasMemory }}
26262684from memory.session import get_memory_session_manager
26272685{ {/if }}
@@ -2630,7 +2688,11 @@ app = BedrockAgentCoreApp()
26302688log = app.logger
26312689
26322690# Define a Streamable HTTP MCP Client
2633- mcp_client = get_streamable_http_mcp_client()
2691+ { {#if hasGateway }}
2692+ mcp_clients = get_all_gateway_mcp_clients()
2693+ { {else }}
2694+ mcp_clients = [get_streamable_http_mcp_client()]
2695+ { {/if }}
26342696
26352697# Define a collection of tools used by the model
26362698tools = []
@@ -2643,8 +2705,9 @@ def add_numbers(a: int, b: int) -> int:
26432705tools.append(add_numbers)
26442706
26452707# Add MCP client to tools if available
2646- if mcp_client:
2647- tools.append(mcp_client)
2708+ for mcp_client in mcp_clients:
2709+ if mcp_client:
2710+ tools.append(mcp_client)
26482711
26492712
26502713{ {#if hasMemory }}
0 commit comments