One order question across ADK agents: coordinator, A2A specialists and MCP Toolbox

One order question across ADK agents: coordinator, A2A specialists and MCP Toolbox One order question across ADK agents: coordinator, A2A specialists and MCP Toolbox The coordinator plans with Gemini, calls the remote inventory and shipping agents over A2A in parallel, and the specialists read the database only through MCP Toolbox Google Cloud par [specialists in parallel] Where is order 4711, and can we ship it today? 1. The operator asks in the chat UI; Identity-Aware Proxy has already authenticated them.1 run (session id) 2. The UI calls the coordinator's ADK API server with an ID token for its Cloud Run service; the session service keeps the conversation state.2 screen prompt 3. Coordinator agent → Model Armor (screen prompt)3 allowed plan: which agents? 4. The LlmAgent asks Gemini which sub-agents or tools answer the question.4 call inventory + shipping planner sub-agent (local) 5. Local sub-agents run in the coordinator's process; no network hop.5 Remote agents are discoveredthrough their A2A agent card andcalled with a Google ID token. A2A: stock for 4711 6. The coordinator calls the inventory agent through RemoteA2aAgent.6 A2A: carrier cutoff 7. Shipping is called in parallel with inventory.7 MCP: stock_by_order 8. Inventory agent → MCP Toolbox (MCP: stock_by_order)8 SQL 9. MCP Toolbox → AlloyDB (SQL)9 rows tool result in stock, 2 units cutoff 17:00 summarize answer 10. Coordinator agent → Gemini (summarize answer)10 final text answer + sources Order 4711 can ship today Operator (Users) Operator Chat UI (Cloud Run) Chat UI Cloud Run Coordinator agent (Agents (category)) Coordinator agent ADK root_agent Model Armor (Data Loss Prevention API) Model Armor Gemini (Vertex AI) Gemini Vertex AI Inventory agent (Agents (category)) Inventory agent A2A server Shipping agent (Agents (category)) Shipping agent A2A server MCP Toolbox (Cloud Run) MCP Toolbox Cloud Run AlloyDB (AlloyDB) AlloyDB

Flow

  1. 1The operator asks in the chat UI; Identity-Aware Proxy has already authenticated them.
  2. 2The UI calls the coordinator's ADK API server with an ID token for its Cloud Run service; the session service keeps the conversation state.
  3. 3Coordinator agent → Model Armor (screen prompt)
  4. 4The LlmAgent asks Gemini which sub-agents or tools answer the question.
  5. 5Local sub-agents run in the coordinator's process; no network hop.
  6. 6The coordinator calls the inventory agent through RemoteA2aAgent.
  7. 7Shipping is called in parallel with inventory.
  8. 8Inventory agent → MCP Toolbox (MCP: stock_by_order)
  9. 9MCP Toolbox → AlloyDB (SQL)
  10. 10Coordinator agent → Gemini (summarize answer)