Skip to content

[Feat]: Add new CLI for A2A Protocol developer workflow (schema validation, streaming, completions) #1325

@pascal910107

Description

@pascal910107

Is your feature request related to a problem? Please describe.

There is currently no unified CLI workflow for developing and testing A2A Protocol agents. Developers have to rely on ad-hoc scripts or manual API calls to:

  • Generate and inspect Agent Cards
  • Validate Agent Cards against the protocol specification (e.g., JSON Schema)
  • Check connectivity to agent endpoints
  • Exercise basic and advanced interactions (single request, interactive sessions, streaming)

This makes the workflow inconsistent, harder to automate in CI, and more error-prone.

Describe the solution you'd like

Introduce a comprehensive A2A CLI tool that streamlines common developer tasks for the A2A Protocol, including:

  • Agent Card management:

    • Generate Agent Cards
    • Validate Agent Cards against the protocol specification (JSON Schema validation)
    • View/inspect Agent Cards in a human-friendly format
  • Agent interaction & testing:

    • Connectivity checks to agent endpoints
    • Send single messages and display responses
    • Run interactive client-agent sessions
    • Support streaming responses for realistic conversation simulation
  • Developer experience:

    • Multiple output formats (JSON, YAML, and plain text)
    • Shell autocompletions
    • Consistent error handling and exit codes for automation/CI usage

Describe alternatives you've considered

  • Continuing with separate scripts and manual curl commands for each workflow step.
  • Maintaining a small set of narrowly-scoped commands (e.g., only Agent Card validation), but this would not address end-to-end interaction testing.
  • Using a generic API client (e.g., Postman) for testing, which does not provide a cohesive CLI experience, schema validation integration, or easy automation.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions