{"id":47300571,"url":"https://github.com/alDuncanson/Handler","last_synced_at":"2026-03-31T06:00:45.040Z","repository":{"id":325842774,"uuid":"1097844914","full_name":"alDuncanson/Handler","owner":"alDuncanson","description":"A2A Protocol client and developer toolkit.","archived":false,"fork":false,"pushed_at":"2026-03-25T04:18:00.000Z","size":2815,"stargazers_count":39,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-26T09:51:49.895Z","etag":null,"topics":["a2a","a2a-cli","a2a-client","a2a-protocol","a2a-server","adk","agent","ai","ai-agents","cli","litellm","mcp","mcp-server","ollama","pypi","python","tui","uv"],"latest_commit_sha":null,"homepage":"https://handler.alduncanson.com/introduction","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alDuncanson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"alDuncanson","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2025-11-16T23:10:16.000Z","updated_at":"2026-03-18T23:53:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/alDuncanson/Handler","commit_stats":null,"previous_names":["alduncanson/handler"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/alDuncanson/Handler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alDuncanson%2FHandler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alDuncanson%2FHandler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alDuncanson%2FHandler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alDuncanson%2FHandler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alDuncanson","download_url":"https://codeload.github.com/alDuncanson/Handler/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alDuncanson%2FHandler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31223288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-31T04:08:55.938Z","status":"ssl_error","status_checked_at":"2026-03-31T04:08:47.883Z","response_time":111,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["a2a","a2a-cli","a2a-client","a2a-protocol","a2a-server","adk","agent","ai","ai-agents","cli","litellm","mcp","mcp-server","ollama","pypi","python","tui","uv"],"created_at":"2026-03-17T01:38:19.986Z","updated_at":"2026-03-31T06:00:45.035Z","avatar_url":"https://github.com/alDuncanson.png","language":"Python","funding_links":["https://github.com/sponsors/alDuncanson"],"categories":["Python","🛠️ Tools \u0026 Utilities"],"sub_categories":[],"readme":"# Handler\n\n[![CI](https://github.com/alDuncanson/handler/actions/workflows/ci.yml/badge.svg)](https://github.com/alDuncanson/handler/actions/workflows/ci.yml)\n[![A2A Protocol](https://img.shields.io/badge/A2A_Protocol-v0.3.0-blue)](https://a2a-protocol.org/latest/)\n[![PyPI version](https://img.shields.io/pypi/v/a2a-handler)](https://pypi.org/project/a2a-handler/)\n[![PyPI - Status](https://img.shields.io/pypi/status/a2a-handler)](https://pypi.org/project/a2a-handler/)\n[![PyPI monthly downloads](https://img.shields.io/pypi/dm/a2a-handler)](https://pypi.org/project/a2a-handler/)\n[![Pepy total downloads](https://img.shields.io/pepy/dt/a2a-handler?label=total%20downloads)](https://pepy.tech/projects/a2a-handler)\n[![GitHub stars](https://img.shields.io/github/stars/alDuncanson/handler)](https://github.com/alDuncanson/handler/stargazers)\n\n![Handler TUI](https://github.com/alDuncanson/Handler/blob/main/assets/handler-tui.png?raw=true)\n\nHandler is an open-source [A2A Protocol](https://github.com/a2aproject/A2A)\nclient and developer toolkit.\n\nIt provides a CLI and TUI for communicating with remote agents, an MCP server\nfor bridging AI assistants into the A2A ecosystem, a reference server agent\nimplementation, push notification support, and agent card validation. Whether\nyou're building agents, integrating with existing ones, or exploring\nagent-to-agent communication, Handler gives you the observability and control\nyou need from your terminal.\n\n## Who is Handler For?\n\nHandler is for developers, researchers, and teams working with AI agents. If\nyou're building agents that speak A2A, Handler helps you test and debug them. If\nyou're integrating with existing A2A agents, Handler gives you a fast way to\nexplore their capabilities. If you want your AI assistant to communicate with\nother agents, Handler's MCP server bridges that gap. And if you're just curious\nabout agent-to-agent communication, Handler is a great place to start.\n\n## Get Started\n\n### Install\n\nInstall with [uv](https://github.com/astral-sh/uv):\n\n```bash\nuv tool install a2a-handler\n```\n\nOr with [pipx](https://pipx.pypa.io/):\n\n```bash\npipx install a2a-handler\n```\n\nOr with pip:\n\n```bash\npip install a2a-handler\n```\n\n### Run\n\nOr, run from an ephemeral environment:\n\n```bash\n# With uv\nuvx --from a2a-handler handler\n\n# With pipx\npipx run a2a-handler\n```\n\n### Development Environment\n\nA [hermetically sealed](https://zero-to-nix.com/concepts/hermeticity/)\ndevelopment environment is available with\n[Nix](https://zero-to-nix.com/concepts/nix/):\n\n```bash\nnix develop\n```\n\nThis provides Python, uv, and just with all commands ready to use.\n\nFor usage documentation, see the\n[Handler docs](https://alduncanson.github.io/Handler/).\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FalDuncanson%2FHandler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FalDuncanson%2FHandler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FalDuncanson%2FHandler/lists"}