- Home
- gRPC Tools
- gRPC CLI
gRPC CLI
What it is
gRPC CLI is a free, open-source command-line tool in the gRPC repository for inspecting services and calling remote methods. It can send unary RPCs, attach request metadata, display metadata received from a server, and handle common server authentication. With server reflection, it can list available services and methods. If reflection is unavailable, local proto files can supply service definitions and request or response types. Requests can be read in proto text or wire form; responses can be displayed as text or written in wire form to a file. The documented core functionality does not include streaming RPC calls; streaming is described as a desired capability. The tool is listed for Linux, macOS, and Windows, but must be built from the gRPC repository source. The documented build process uses CMake and the `make grpc_cli` target. The documentation describes its user-friendliness as not yet up to par and says grpcurl is better maintained in its current state. The gRPC repository identifies its license as Apache-2.0.
For and against
For
- Can list services and methods through reflection
- Supports unary RPC calls and metadata
- Local proto files can replace reflection
- Apache-2.0 licensed
Against
- Must be built from source
- Streaming RPC support is not in core functionality
- Documentation says grpcurl is better maintained
- User-friendliness is described as below par
The verdict
gRPC CLI provides command-line service inspection and unary calls, with local proto files as an alternative when reflection is unavailable. Its source-build requirement and documented maturity limits are important considerations.
Who it suits
gRPC CLI suits people who want to inspect gRPC services or make unary calls from the command line. It is most relevant to users able to build it from source and work with server reflection or local proto files.
Plans and prices
gRPC CLI
Build from source · unary RPC calls
Read 7 Oct 2026 · grpc.github.io
On the record
- Alternative tool
- The documentation says grpcurl is better maintained than this tool in its current state.grpc.github.io · read 4 Oct 2026
- Authentication
- The documented core functionality includes handling common authentication to a server.grpc.github.io · read 4 Oct 2026
- Build and availability
- The tool must be built from the gRPC repository source using CMake and the grpc_cli build target.grpc.github.io · read 7 Oct 2026
- Build requirement
- The documentation says the tool must be built from source and describes it as not yet up to par in user-friendliness.grpc.github.io · read 4 Oct 2026
- Build system
- The documented build procedure uses CMake and the command make grpc_cli.grpc.github.io · read 4 Oct 2026
- Current maturity
- The documentation says the tool is not yet up to par in user-friendliness and that grpcurl is better maintained.grpc.github.io · read 7 Oct 2026
- Intended users
- The documentation describes use by people inspecting gRPC services and calling remote methods from the command line.grpc.github.io · read 7 Oct 2026
- License
- The gRPC repository identifies its license as Apache-2.0.github.com · read 7 Oct 2026
- Message formats
- It can read proto requests in text or wire form, display proto responses in text, and write wire-form responses to a file.grpc.github.io · read 7 Oct 2026
- Metadata and authentication
- It can attach and display metadata and handle common server authentication.grpc.github.io · read 7 Oct 2026
- Prerequisite
- Most commands need server reflection, though local proto files can be used as an alternative.grpc.github.io · read 7 Oct 2026
- Proto files
- It can use local proto files to find request and response types when server reflection is unavailable.grpc.github.io · read 7 Oct 2026
- Purpose
- gRPC CLI is a command-line tool included in the gRPC repository for interacting with gRPC servers.grpc.github.io · read 7 Oct 2026
- RPC calls
- It can send unary RPCs and display their responses.grpc.github.io · read 7 Oct 2026
- Service discovery
- It can list services and methods through server reflection, and infer request and response types from reflection results.grpc.github.io · read 7 Oct 2026
- Streaming
- The documentation lists streaming RPC support as a desired capability, rather than among the tool’s current core functionality.grpc.github.io · read 4 Oct 2026
- Streaming support
- Sending streaming RPCs is listed as a capability the tool should support, rather than among its current core functionality.grpc.github.io · read 7 Oct 2026
The review
gRPC CLI is a command-line utility for discovering gRPC services and making remote calls. It is best suited to developers comfortable building from source who need service inspection or unary requests. Its practical value is strongest for reflected services and basic request-and-response work.
Overview
The tool brings service discovery and unary RPC calls into a command-line workflow. Server reflection can expose a service’s methods, and common authentication support plus metadata handling cover routine calls. That makes gRPC CLI a focused option for developers who want to inspect a server and send requests without leaving the terminal. The trade-off is substantial: it must be built from the gRPC repository, and its documentation acknowledges that it falls short on user-friendliness.
Key features
- Service discovery: With server reflection, gRPC CLI can list services and methods. Most commands rely on reflection, so it is most useful with servers that expose it. Local proto files can supply service definitions and request or response types when reflection is unavailable.
- Unary calls and metadata: The tool sends unary RPCs, attaches metadata, displays received metadata, and handles common server authentication. This is a useful set for basic request-and-response tasks, but streaming calls are described as a desired capability rather than current core functionality.
- Proto message formats: Requests can be read in text or wire form; responses can be displayed as text or written in wire form to a file. That provides flexibility for command-line workflows, though it does not remove the need to supply definitions when reflection is absent.
- Source build: The documented build procedure uses CMake and the make grpc_cli target. This is manageable for developers already set up to build gRPC, but a poor fit for anyone expecting an immediately usable client.
Pricing
gRPC CLI is open source and free. The gRPC CLI plan costs nothing and includes building from source and unary RPC calls. There is no free trial; the free plan is the product’s only stated plan. Its price is appealing, but users pay in setup effort rather than subscription cost.
Platforms
gRPC CLI is available for Linux, macOS, and Windows as desktop software. Its build-from-source requirement applies across the workflow, so platform availability does not mean a ready-made installation.
Who it's for
Choose gRPC CLI if you work with gRPC services, are comfortable with the repository’s CMake build process, and need to inspect reflected services or make unary calls from the command line. It is not the right choice for streaming RPC workflows or for users who prioritize a polished, low-friction client.
Pros and cons
Pros
- Reflection-based service and method discovery helps inspect a server directly.
- Unary calls, metadata handling, and common authentication support cover core command-line request work.
- Local proto files provide a fallback for service definitions and message types when reflection is unavailable.
- Free, open-source access avoids a paid plan.
Cons
- Building from source with CMake and the grpc_cli target adds setup work before use.
- The tool is acknowledged as not yet up to par in user-friendliness.
- Streaming is not among its current core capabilities.
- Most commands need server reflection, limiting convenience with servers that do not expose it.
Alternatives
gRPC Tools is a useful directory for comparing tools in this category. For a better-maintained command-line option, choose Chiko, which is free with no paid plans or usage limits stated. If your priority is load testing rather than service inspection and unary calls, ghz is a free, open-source gRPC load-testing CLI and Go package; its complementary web application is in beta. gRPC Swagger is a free, MIT-licensed alternative. For Go-focused gRPC testing utilities, consider free grpcmock-go. Kreya offers a free individual plan with request history limited to the latest request, as well as a free trial; it is not open source. For generating documentation from protobuf definitions, protoc-gen-doc is free MIT-licensed software. Sabledocs is a free open-source static generator that requires Python 3.11 or later and a Protobuf descriptor file. Bandura has a free plan for personal and commercial use with no account, paid seats, or feature tiers, plus a $59, paid once commercial licence.
Verdict
gRPC CLI is a sensible free choice for developers who can build gRPC from source and need reflection-based inspection or unary calls in a terminal. Its source-build burden and lack of core streaming support are decisive reasons to look elsewhere if you want a smoother client or need streaming workflows; the documentation points to grpcurl as better maintained.