Go client/server implementation for Google A2A(Agent To Agent) Protocol.
This project is in the early stage of development. The API may change in the future. But you can use it for development now. Use in production is not recommended yet.
go get github.com/zhengrenjie/go-a2a
- A2A Protocol definition
- A2A Server implementation with standard http server
- Support SSE for streaming responses
- More useful options for server configuration
- Server side logging
- A2A Client implementation with standard http client
- Support streaming requests and responses
- More useful options for client configuration
- Client side logging
func main() {
// create a new server with default options
srv := server.NewServer(yourHandler)
err := server.NewA2AHost(":6789").Host(srv)
if err != nil {
log.Fatal(err)
}
}
See: https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/
Protocol Specification: https://google.github.io/A2A/#/