gRPC CLI vs grpcmock-go
gRPC CLI
grpc.github.iogrpcmock-go
github.comSide by side
| Figure | gRPC CLI | grpcmock-go |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · gRPC Tools | 8.1 (#5) | 8.1 (#6) |
| License | The gRPC repository identifies its license as Apache-2.0. | The repository identifies its license as MIT. |
| Prerequisite | Most commands need server reflection, though local proto files can be used as an alternative. | The README lists Go 1.25 or later as a prerequisite. |
| Purpose | gRPC CLI is a command-line tool included in the gRPC repository for interacting with gRPC servers. | grpcmock is a set of gRPC test utilities for Golang. |
| Streaming | The documentation lists streaming RPC support as a desired capability, rather than among the tool’s current core functionality. | It supports unary, client-streaming, server-streaming, and bidirectional-streaming methods. |
Plans
In their own words
gRPC CLI
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 metadata to requests, display metadata received from a server, and handle common server authentication. With server reflection, it can list services and methods; when 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 to a file in wire form. Streaming RPC support is described as a desired capability, not part of the documented core functionality. The tool runs on Linux, macOS, and Windows, but must be built from repository source. The documented process uses CMake and the `make grpc_cli` build target. Its documentation describes the tool as not yet up to par in user-friendliness and says grpcurl is better maintained in its current state. The gRPC repository identifies its license as Apache-2.0.
grpcmock-go
grpcmock-go is a free, MIT-licensed Go module providing gRPC testing utilities. It helps tests mock gRPC servers, configure expectations for methods, headers, and payloads, and invoke client calls. Supported methods include unary, client-streaming, server-streaming, and bidirectional-streaming patterns. Request matching can use exact values, regular expressions, JSON, or custom matchers. Mock responses may return payloads, errors, or custom-handler results, and streaming client invocations can use custom handlers. Services can be registered from generated Go code, service instances, or individual methods when generated code is unavailable. The project recommends MockServerWithBufConn for in-memory application testing, with examples using bufconn listeners and context dialers. Installation uses `go get go.nhat.io/grpcmock`, and Go 1.25 or later is required. GitHub lists v0.34.0, released December 12, 2025, as the latest release. The Open-source Go module plan costs nothing.