{"id":46569053,"url":"https://github.com/alduncanson/handler","last_synced_at":"2026-04-18T23:06:13.079Z","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-04-08T04:05:56.000Z","size":1662,"stargazers_count":39,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-08T06:00:56.545Z","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","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-04-08T04:06:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"d9fd0b35-1709-43a8-9a9f-2a04318e3b5f","html_url":"https://github.com/alDuncanson/Handler","commit_stats":null,"previous_names":["alduncanson/handler"],"tags_count":19,"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":31542384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"online","status_checked_at":"2026-04-08T02:00:06.127Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-07T08:02:49.614Z","updated_at":"2026-04-18T23:06:13.062Z","avatar_url":"https://github.com/alDuncanson.png","language":"Python","funding_links":["https://github.com/sponsors/alDuncanson"],"categories":[],"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) client for your terminal.\n\nUse the TUI or CLI to send messages, manage tasks, and inspect agent cards.\nAn included MCP server lets your AI assistant talk to A2A agents too.\n\n## Install\n\n```bash\nuv tool install a2a-handler\n```\n\nOr with [pipx](https://pipx.pypa.io/) / pip:\n\n```bash\npipx install a2a-handler   # or: pip install a2a-handler\n```\n\n## Quick Start\n\n```bash\nhandler tui                              # launch the interactive TUI\nhandler message send URL \"hello\"         # send a message from the CLI\nhandler card get URL                     # fetch an agent card\nhandler mcp                              # start the MCP server\nhandler server run agent                 # run the bundled reference agent\n```\n\n## Run Without Installing\n\n```bash\nuvx --from a2a-handler handler           # or: pipx run a2a-handler\n```\n\n## Servers\n\nHandler supports named servers in `$XDG_CONFIG_HOME/handler/servers.toml`\n(global) and `.handler/servers.toml` (repo-local).\n\n```toml\nversion = 1\n\n[servers.local]\nurl = \"http://localhost:8000\"\n\n[servers.local.auth]\ntype = \"bearer\"\nenv = \"HANDLER_LOCAL_TOKEN\"\n```\n\nSee [docs/](docs) for the full auth reference covering bearer, API key, mTLS,\nand OAuth2.\n\n## Development\n\nA [hermetic](https://zero-to-nix.com/concepts/hermeticity/) dev environment\nis available via [Nix](https://zero-to-nix.com/concepts/nix/):\n\n```bash\nnix develop\n```\n\nThe Mintlify docs source lives in `docs/`.\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\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"}