Evans
github.com
What it is
Evans is a free universal gRPC client for manual API inspection and scripting on Linux, macOS, and Windows. Its interactive REPL completes package, service, and RPC names. Stateless CLI mode reads standard input or files and prints JSON-formatted results. When server reflection is enabled, Evans can use that instead of proto files. It supports client-streaming, server-streaming, and bidirectional-streaming RPCs, plus gRPC-Web; TLS is not supported for gRPC-Web. The listed IDL and codec is Protocol Buffers 3, and the compressor is GZIP. For ordinary gRPC connections, the project documents secure TLS connections with the --tls option. Installation options include GitHub Releases, Homebrew, Docker, and Go, with Releases or Homebrew recommended for automatic updates. The documented Go installation requires Go v1.20 or later. The repeat option does not support client-streaming or bidirectional-streaming RPCs. Evans uses the MIT license.
Spec sheet
- Purpose
- Evans is a universal gRPC client for manual API inspection and scripting.Read 3 Oct 2026 · github.com
- License
- The repository identifies its license as MIT.Read 3 Oct 2026 · github.com
- CLI mode
- Its stateless CLI accepts input from standard input or files and prints JSON formatted results.Read 3 Oct 2026 · github.com
- gRPC-Web
- Evans supports gRPC-Web, but TLS is currently not supported for gRPC-Web.Read 3 Oct 2026 · github.com
- Install options
- The project documents GitHub Releases, Homebrew, Docker, and Go installation; it recommends Releases or Homebrew for automatic updates.Read 3 Oct 2026 · github.com
- Notable limitation
- The repeat option does not support client-streaming or bidirectional-streaming RPCs.Read 3 Oct 2026 · github.com
- Protocols
- The listed supported IDL and codec is Protocol Buffers 3, and the listed compressor is GZIP.Read 3 Oct 2026 · github.com
- Reflection
- When the gRPC server has reflection enabled, Evans can use reflection instead of proto files.Read 3 Oct 2026 · github.com
- REPL mode
- Its interactive REPL provides completion for package, service, and RPC names.Read 3 Oct 2026 · github.com
- Runtime requirement
- The documented Go installation requires Go v1.20 or later.Read 3 Oct 2026 · github.com
- Streaming
- Evans supports client streaming, server streaming, and bidirectional streaming RPCs.Read 3 Oct 2026 · github.com
- Transport security
- The README shows connecting to servers that require secure TLS connections using the --tls option.Read 3 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Interactive REPL name completion
- CLI accepts files or standard input
- Server reflection can replace proto files
- Supports all listed streaming RPC types
- MIT-licensed and free
Limits
- gRPC-Web has no TLS support
- Repeat excludes two streaming patterns
- Go installation requires version 1.20 or later
Who it suits
Evans suits developers who inspect gRPC APIs manually or script requests from a command line. It supports reflected servers and several streaming patterns across the listed desktop platforms.
Verdict
Evans provides both interactive and stateless ways to inspect and call gRPC services. Its reflection and streaming support are broad, with specific limits around gRPC-Web TLS and repeated streaming calls.
Where Specifiction places it
- gRPC Tools#11 of 247.9