Skip to main content

Handler

CI Coverage SLSA 2 Socket A2A Protocol PyPI version PyPI status Total downloads GitHub stars

Handler is an open-source A2A protocol client for software engineers building, testing, and operating agentic systems. It provides an interactive TUI, a scriptable CLI with structured output, and an MCP server that lets other agents integrate with A2A services directly. Handler also supports global and repo-scoped A2A server configuration with bearer, API key, HTTP Basic, mTLS, OAuth2 client credentials, and OpenID Connect auth.

Handler TUI connected to an A2A agent, showing the agent card and a completed assistant response

Features

  • Streams replies as they arrive, in the TUI and the CLI, and can stop a running task or answer an agent that pauses for input
  • Sends text, files (inline or by URL), and structured data, and shows the file and data parts agents send back
  • Lists, inspects, cancels, and resubscribes to tasks, and manages push notification configs with a bundled local webhook receiver
  • Speaks JSON-RPC and HTTP+JSON out of the box, gRPC with the grpc extra, and lets the agent card pick the transport
  • Requests A2A extensions and fetches the extended card an agent offers to authenticated clients
  • Keeps credentials on the origin you configured, never on a host an agent card happens to name

Install

Install Handler from the PyPI package as a uv tool:

uv tool install a2a-handler

Or with pipx:

pipx install a2a-handler

Or with pip:

pip install a2a-handler

Quick Start

Open the interactive terminal UI:

handler tui

Inspect an A2A server's agent card:

handler card get --url http://localhost:8000

Send a message from the CLI:

handler message send --url URL --text "hello"

Stream the reply, with a file attached:

handler message stream --url URL --text "Review this" --file ./report.pdf

List the agent's tasks:

handler task list --url URL

Open the full documentation:

handler docs

Run Without Installing

Run Handler with uvx:

uvx --from a2a-handler handler

Run Handler with pipx:

pipx run a2a-handler

Documentation

Read the documentation at https://handler.alduncanson.com.

For coding agents

The docs ship as an agent skill, regenerated on every deploy. Install it into Claude Code, Cursor, Windsurf, or any agent that reads the SKILL.md format:

npx skills add https://handler.alduncanson.com

Or fetch it by hand from https://handler.alduncanson.com/skill.md. For live lookups, agents can also use the hosted documentation MCP server at https://handler.alduncanson.com/mcp or the page index at https://handler.alduncanson.com/llms.txt. See the agent skill guide.

Metadata

Release files for a2a-handler 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for a2a-handler 0.5.0
File Size Uploaded Provenance Actions
a2a_handler-0.5.0.tar.gz 121.0 kB With provenance Details for a2a_handler-0.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for a2a-handler 0.5.0
File Interpreter ABI Platform Actions
a2a_handler-0.5.0-py3-none-any.whl Python 3 none any Details for a2a_handler-0.5.0-py3-none-any.whl

Total release size: 261.1 kB

Release files / a2a_handler-0.5.0.tar.gz

Download URL a2a_handler-0.5.0.tar.gz
Size 121.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8ee4b5d47db4839b7340a0bb61ef22dd0832324a118a33c33ea5422d31f2292a
BLAKE2b-256 checksum
How to use checksums
f93ca4dc782a73524864b91bb72c11d6283f1d28559647e3fe61895980c5c330
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

Release files / a2a_handler-0.5.0-py3-none-any.whl

Download URL a2a_handler-0.5.0-py3-none-any.whl
Size 140.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3d51dd53996e073382b382d4da8d425830b83a7af51cdbdcbe9630afd872af31
BLAKE2b-256 checksum
How to use checksums
3bc6cb987e14bd16db1956105fa3600112e65564b5fdf29bbb72d5a6e55c9384
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

Security for a2a-handler 0.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for a2a_handler-0.5.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page