A2A CLI
The official command-line client for Agent2Agent (A2A) agents, from the A2A project. Fetches an agent card, sends a message and streams the task to completion, and runs a local A2A server from any stdin/stdout program with `--echo` or `--exec`. Built on the A2A Go SDK, speaks protocol v1.0, and prints protocol-native JSON with predictable exit codes so a shell script, a CI step or a coding assistant can hand work to a remote agent without bespoke integration code.
Specifications it implements
What this tool does to each specification, in the role vocabulary. Follow a standard through to standards.apievangelist.com for what it actually specifies.
| Standard | Role | What that means |
|---|---|---|
| Agent2Agent (A2A) | runsalso serves, parses |
`a2a card get` fetches an agent card, `a2a send` messages an agent and streams the task, and `a2a server --exec` turns any stdin/stdout program into an A2A server for testing. JSON output and predictable exit codes are the point. |
- Interfaces
cli- Install
-
brew
a2aproject/a2a-cli/a2awingeta2aproject.a2acligogithub.com/a2aproject/a2a-cli - Consumes
- agent-card, http, text
- Emits
- json, text
- Runtime
- Needs network Non-deterministic Writes No credentials
Where it applies
Jobs this tool actually does, and the surface each one is exercised on.
Sending a message creates a task on the remote agent, so treat `a2a send` as a write. Agents that require auth take it through the CLI's configuration; nothing is needed to read a public agent card.
The `--echo` and `--exec` server modes are for learning, demos and tests, not production.
- Website
- https://github.com/a2aproject/a2a-cli
- Repository
- https://github.com/a2aproject/a2a-cli
- License
- Apache-2.0 — reported by the GitHub API, verified 2026-10-06
- Stars
- 152 · last commit 2026-10-01
Referenced on the API Evangelist blog
/tools.json,
against the tool.schema.json
schema, using the roles.json
vocabulary. Start at /llms.txt.