Skip to main content
Google’s Agent-to-Agent Protocol (A2A) aims at creating a standard way for Agents to communicate with each other. Agno integrates seamlessly with A2A, allowing you to expose your Agno Agent and Teams in a A2A compatible way. This is done with our A2A interface, which you can use with our AgentOS runtime.

Setup

You just need to set enable_a2a=True when creating your AgentOS instance and serve it as normal:
a2a_agentos.py
from agno.agent import Agent
from agno.os import AgentOS
from agno.os.interfaces.a2a import A2A

agent = Agent(name="My Agno Agent")

agent_os = AgentOS(
    agents=[agent],
    enable_a2a=True,
)
app = agent_os.get_app()

if __name__ == "__main__":
    agent_os.serve(app="a2a:app", reload=True)
By default all the Agents, Teams and Workflows in the AgentOS will be exposed via A2A. You can also specify which Agents, Teams and Workflows to expose:
a2a-interface-initialization.py
from agno.agent import Agent
from agno.os import AgentOS
from agno.os.interfaces.a2a import A2A

agent = Agent(name="My Agno Agent")

# Initialize the A2A interface specifying the agents to expose
a2a = A2A(agents=[agent])

agent_os = AgentOS(
    agents=[agent],
    interfaces=[a2a], # Pass the A2A interface to the AgentOS using the `interfaces` parameter
)
app = agent_os.get_app()

if __name__ == "__main__":
    agent_os.serve(app="a2a-interface-initialization:app", reload=True)

A2A API

Using the A2A interface, you can run your Agents, Teams and Workflows passing A2A compatible requests. You will also receive A2A compatible responses. See the A2A API reference for more details.

Developer Resources

I