Cymbal Retail Agent - Developer Guide

February 17, 2026 · View on GitHub

TL;DR

  • ADK Agent with 8 shopping tools (search, checkout, payment) using Gemini 3.0 Flash
  • UCP Integration for standardized commerce data types and capability negotiation
  • A2A Protocol for agent discovery and JSON-RPC messaging

About This Guide

This guide is for developers who want to understand how the sample works internally.

Prerequisites: Complete the Quick Start in README.md first.

What you'll learn:

  • System architecture and component responsibilities
  • How UCP and A2A protocols integrate with ADK
  • The checkout state machine and commerce flows
  • How to extend and customize the sample

Reading Roadmap

Choose your path based on your goal:

GoalStart HereThen Read
New to AI agents?GlossaryThis guide → 01-architecture
Understand the systemArchitecture02-adk-agent → 03-ucp-integration
Add a new toolADK Agent06-extending
Modify checkout flowCommerce Flows06-extending
Customize the UIFrontend-
Debug an issueTesting Guide-
Deploy to productionProduction Notes-
Use AI assistantSKILLS.mdContext for Claude Code, Gemini CLI, Cursor, Codex

Architecture

Cymbal Retail Agent Architecture

System architecture — Chat Client (React + A2A Client) communicates via JSON-RPC to the Cymbal Retail Agent (A2A Server → ADKAgentExecutor → ADK Agent → RetailStore). Discovery endpoints expose agent capabilities and UCP profile.

Quick Reference

Key Files

FilePurpose
business_agent/src/business_agent/agent.pyADK agent + 8 tools
business_agent/src/business_agent/store.pyCheckout state machine
business_agent/src/business_agent/agent_executor.pyA2A ↔ ADK bridge
chat-client/App.tsxReact app + A2A messaging

Endpoints

EndpointPurpose
GET /.well-known/agent-card.jsonA2A agent discovery
GET /.well-known/ucpUCP merchant profile
POST /A2A JSON-RPC endpoint

State Keys

KeyPurpose
user:checkout_idCurrent checkout session
__ucp_metadata__Negotiated capabilities
__payment_data__Payment instrument

Deep Dive Guides

GuideTopics
GlossaryKey terms, acronyms, state keys
ArchitectureSystem components, data flow
ADK AgentTools, callbacks, session management
UCP IntegrationCapabilities, profiles, negotiation
Commerce FlowsCheckout lifecycle, payment
FrontendReact components, A2A client
ExtendingAdd tools, products, capabilities
Testing GuideTesting, debugging, troubleshooting
Production NotesSecurity gaps, deployment checklist