Skip to content

feat: add generic A2A client service #45

Description

@rodaddy

Goal

Add a generic a2a-client service to mcp2cli for standard Agent-to-Agent JSON-RPC/SSE interactions.

Context

The Herdr/MonkeyProof architecture should talk to remote workers through A2A where possible. MonkeyProof has a facade, Bilby has an A2A server, and King agents expose A2A surfaces. A generic client avoids one-off curl commands and makes agent-to-agent work repeatable.

Proposed Tools

  • get_agent_card
  • send_message
  • send_streaming_message
  • send_followup
  • cancel_task
  • optional list_known_agents if backed by config/discovery

Requirements

  • Include A2A-Version: 1.0 automatically unless overridden.
  • Support endpoint URL, message text, task id, metadata, and timeout.
  • Preserve structured task/artifact/status output.
  • Support streaming output when practical; if not, provide a clear polling/read fallback.
  • Keep endpoint credentials in config/secret stores, not prompts or committed files.
  • Include examples for:
    • MonkeyProof A2A on CT 120;
    • Bilby A2A;
    • King agents A2A where applicable.

Acceptance Criteria

  • mcp2cli a2a-client --help lists the tools.
  • mcp2cli schema a2a-client.send_message documents parameters.
  • Can retrieve an agent card from a configured endpoint.
  • Can submit a task and return task status/artifacts.
  • Can send a follow-up to an existing task id.
  • Can cancel a task where the endpoint supports it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions