Handler is an open-source A2A Protocol client and developer toolkit.
Handler is an enterprise-ready A2A client that provides everything you need to communicate with remote agents, inspect tasks, debug interactions, and operate in the agent-to-agent ecosystem. Whether you're exploring A2A for the first time, developing your own agents, or running agents in production, Handler gives you the observability and control you need from your terminal.
Handler is more than a client. It's a growing collection of A2A infrastructure components:
- CLI - Send messages, stream responses, manage sessions, inspect tasks, cancel operations, and validate agent cards from the command line
- TUI - A full terminal user interface for conversing with agents, inspecting tasks, and viewing artifacts
- MCP Server - Exposes all of Handler's A2A capabilities over the Model Context Protocol, enabling any MCP-compatible host (Claude, Gemini CLI, Cursor, etc.) to send A2A messages and interact with agents
- Server Agent - A reference A2A agent implementation powered by Google ADK, LiteLLM, and Ollama for local inference
- Push Notification Server - A webhook server for receiving asynchronous push notifications from agents
- Web Interface - Serve the TUI as a web application for browser-based access
- Agent Card Validation - Validate agent cards from URLs or local files against the A2A protocol specification
- Session & Credential Management - Persist conversation context and authentication credentials across sessions for seamless multi-turn interactions
More components are on the way as the A2A ecosystem matures.
Handler is for developers, researchers, and teams working with AI agents. If you're building agents that speak A2A, Handler helps you test and debug them. If you're integrating with existing A2A agents, Handler gives you a fast way to explore their capabilities. If you want your AI assistant to communicate with other agents, Handler's MCP server bridges that gap. And if you're just curious about agent-to-agent communication, Handler is a great place to start.
Install with uv:
uv tool install a2a-handlerOr run in an ephemeral environment:
uvx --from a2a-handler handlerFor usage documentation, see the Handler docs.
See CONTRIBUTING.md.
