CUGA LogoCUGA AGENT
Run

CUGA as A2A

Expose CUGA over the Agent-to-Agent protocol so other agents can call it.

CUGA as A2A

A2A (Agent-to-Agent) is the protocol other agents use to call CUGA as a peer — same job as CUGA as MCP, but for agent runtimes instead of MCP tool clients.

Off by default. When you enable it, the CUGA server mounts an A2A router and publishes an AgentCard so remote supervisors can discover and delegate to this instance.

Architecture: This is a Clients entry point in reverse — other orchestrators hit your CUGA server over HTTP. See How CUGA works.


Expose this CUGA

Enable in settings.toml:

[a2a]
enabled = true
agent_name = "cuga"
agent_description = "CUGA agent exposed over A2A."
agent_url = "http://localhost:8000"

Then start a server preset (cuga start demo or cuga start manager). Other A2A clients point at agent_url.

OptionWhat it does
enabledMount the A2A router (lazy-imports the A2A package)
agent_name / agent_description / agent_versionShown on the AgentCard
agent_urlPublic URL clients should call
auth_requiredAdvertise a bearer scheme on the AgentCard
skill_idsSkills listed on the AgentCard (default delegate_task)
supervisor_config_pathYAML for the supervisor that handles inbound A2A. Empty = simple runner
auto_approveSimple runner only: auto-confirm HITL interrupts

Full key list: Settings reference — A2A.


Two directions

DirectionWhat you do
Expose CUGA (this page)Other agents call your CUGA over A2A
Call a remote agentYour CugaSupervisor delegates to an external A2A endpoint

To consume a remote A2A agent from Python:

remote_config = {
    "name": "analytics",
    "type": "external",
    "description": "Remote analytics service",
    "config": {
        "a2a_protocol": {
            "endpoint": "http://localhost:9999",
            "transport": "http",
        },
    },
}

supervisor = CugaSupervisor(agents={
    "crm": crm_agent,
    "analytics": remote_config,
})

Details: CugaSupervisor — External Agents. Set pass_variables_a2a = true under [supervisor] if you need to send variables in A2A metadata.