A quick introduction to A2A. A2A standardises agent discovery, communication, and authentication. The protocol introduces the concept of an Agent Card, a JSON object containing the agent’s name, description, skills, accepted inputs, outputs, and authentication methods. It also defines a Message, a Task (a unit of work), an Artifact (the output of a Task), and a Part (a fundamental object for Messages and Artifacts that can represent text, data, and files).
Most people associate A2A with multi-agent systems, but it also serves as a framework for deploying agents. You get a standardised API endpoint for sending text, data, and files from any A2A compatible SDK, UI, or app. Agent Cards can be used to catalog and search agents. And A2A was explicitly designed for long-running, asynchronous tasks with support for polling, streaming, and webhooks. To learn more, see What is A2A? [4]
Check the GitHub discussion out, where I compare sending a Message and polling a Task with the A2A SDK and A2A Utils. I think it's much more elegant! I would love to hear your thoughts and welcome feedback.
Links:
[1] A2A Utils: https://github.com/a2anet/a2a-utils [2] A2A MCP Server: https://github.com/a2anet/a2a-mcp [3] OpenClaw A2A Plugin: https://github.com/a2anet/openclaw-a2a-plugin [4] What is A2A?: https://a2a-protocol.org/latest/topics/what-is-a2a/#core-ben...