- Home
- gRPC Tools
- Evans
Evans
What it is
Evans is a free universal gRPC client for manual API inspection and scripting on Linux, macOS, and Windows. Its interactive REPL offers completion for package, service, and RPC names. A stateless command-line mode reads input from standard input or files and prints JSON-formatted results. When a server enables gRPC reflection, Evans can use that information instead of proto files. The client supports client-streaming, server-streaming, and bidirectional-streaming RPCs, as well as gRPC-Web. TLS is not supported for gRPC-Web, although the project documents the --tls option for secure TLS connections to ordinary gRPC servers. The listed IDL and codec is Protocol Buffers 3, and the listed compressor is GZIP. Installation options include GitHub Releases, Homebrew, Docker, and Go; the documented Go method requires Go v1.20 or later. The repeat option does not support client-streaming or bidirectional-streaming RPCs. Evans uses the MIT license and can be self-hosted.
For and against
For
- Free MIT-licensed open-source client
- REPL completion for gRPC names
- JSON output from CLI input
- Supports three streaming RPC patterns
- Works with server reflection
Against
- gRPC-Web has no TLS support
- Repeat excludes two streaming patterns
- Go installation requires version 1.20 or later
- Protocol Buffers 3 is the listed format
The verdict
Evans combines interactive exploration and scriptable JSON output for gRPC work across Linux, macOS, and Windows. Its streaming and reflection support are broad, but gRPC-Web TLS and repeat-mode limitations matter for some workflows.
Who it suits
Evans suits developers who need a free command-line or interactive tool for inspecting gRPC APIs and scripting requests across major desktop operating systems.
Plans and prices
Evans
Open-source gRPC client
Read 3 Oct 2026 · github.com
On the record
- CLI mode
- Its stateless CLI accepts input from standard input or files and prints JSON formatted results.github.com · read 3 Oct 2026
- gRPC-Web
- Evans supports gRPC-Web, but TLS is currently not supported for gRPC-Web.github.com · read 3 Oct 2026
- Install options
- The project documents GitHub Releases, Homebrew, Docker, and Go installation; it recommends Releases or Homebrew for automatic updates.github.com · read 3 Oct 2026
- License
- The repository identifies its license as MIT.github.com · read 3 Oct 2026
- Notable limitation
- The repeat option does not support client-streaming or bidirectional-streaming RPCs.github.com · read 3 Oct 2026
- Protocols
- The listed supported IDL and codec is Protocol Buffers 3, and the listed compressor is GZIP.github.com · read 3 Oct 2026
- Purpose
- Evans is a universal gRPC client for manual API inspection and scripting.github.com · read 3 Oct 2026
- Reflection
- When the gRPC server has reflection enabled, Evans can use reflection instead of proto files.github.com · read 3 Oct 2026
- REPL mode
- Its interactive REPL provides completion for package, service, and RPC names.github.com · read 3 Oct 2026
- Runtime requirement
- The documented Go installation requires Go v1.20 or later.github.com · read 3 Oct 2026
- Streaming
- Evans supports client streaming, server streaming, and bidirectional streaming RPCs.github.com · read 3 Oct 2026
- Transport security
- The README shows connecting to servers that require secure TLS connections using the --tls option.github.com · read 3 Oct 2026