macOS
brew install grpcurllocal Homebrew formula metadata
sudo port install grpcurlMacPorts ports tree · devel/grpcurl/Portfile · source: api.github.com
brew
Like cURL, but for gRPC. Version 1.9.3 via Homebrew; verified 2026-06-15.
install
brew install grpcurllocal Homebrew formula metadata
sudo port install grpcurlMacPorts ports tree · devel/grpcurl/Portfile · source: api.github.com
sudo apk add grpcurlAlpine Linux edge package indexes · grpcurl · source: dl-cdn.alpinelinux.org
sudo dnf install grpcurlFedora Rawhide package metadata · grpcurl · source: dl.fedoraproject.org
nix profile install nixpkgs#grpcurlnixpkgs package indexes · pkgs/by-name/gr/grpcurl/package.nix · source: api.github.com
scoop install main/grpcurlScoop official bucket manifest trees · bucket/grpcurl.json · source: api.github.com
winget install --id fullstorydev.grpcurl -eWindows Package Manager source index · fullstorydev.grpcurl · source: cdn.winget.microsoft.com
overview
Like cURL, but for gRPC
history
grpcurl is a command-line tool for interacting with gRPC servers, deliberately analogous to curl for HTTP. It makes binary protobuf-based RPCs scriptable by accepting and emitting human-friendly JSON while using gRPC schemas to marshal requests.
The official GitHub repository was created in 2017, and the first listed GitHub release was v1.0.0 in September 2018. FullStory's engineering blog later described grpcurl as a tool for querying gRPC servers similarly to how curl queries HTTP endpoints.
grpcurl emerged to fill a protocol gap: ordinary curl cannot conveniently invoke gRPC because gRPC uses HTTP/2 plus protobuf binary messages. The README explains that grpcurl uses server reflection, proto source files, or protoset descriptor files to discover schemas and translate JSON request bodies to protobuf messages.
The repository also provides a Go library package for building other tools that dynamically invoke gRPC endpoints, making grpcurl both a user-facing CLI and a reusable implementation example for reflection-driven gRPC tooling.
grpcurl adoption follows gRPC adoption. As teams moved internal APIs to gRPC, they needed a quick shell-native way to list services, describe methods, send requests, add metadata, test TLS and mTLS, and script health or debugging calls.
FullStory's blog noted that grpcurl implementation code helped power other dynamic gRPC tools such as Uber's Prototool. The README also lists Homebrew, Docker, Snap, Go install, and third-party packages, showing broad packaging interest around a small CLI.
The tool became a common recommendation because it preserves the Unix habit of direct command-line API inspection while respecting gRPC's schema-driven binary protocol.
Typical usage is `grpcurl HOST:PORT list`, `grpcurl HOST:PORT describe SERVICE`, or `grpcurl -d '{...}' HOST:PORT package.Service/Method`. Users can add metadata with `-H`, use plaintext or TLS, and feed JSON from stdin with `-d @`.
When a server supports gRPC reflection, grpcurl can discover services dynamically. Without reflection, users provide `.proto` sources or compiled protoset files so grpcurl can encode and decode messages correctly.
grpcurl supports unary and streaming RPCs, including interactive bidirectional streaming from a terminal. That makes it useful for smoke tests, local development, CI checks, and quick production debugging when paired with appropriate credentials and network access.
grpcurl is one of those packages that earns its place by being exactly the missing CLI. It lets package-manager users install a single binary and immediately inspect a gRPC service without writing a generated client.
It is also an archetypal Go-distributed developer tool: upstream releases binaries, Homebrew packages it, Docker images exist, and `go install` remains a source path. That redundancy is useful because grpcurl is often needed inside CI images and ephemeral debugging shells.
For API tooling, grpcurl made gRPC feel less opaque to developers raised on curl, jq, and shell pipelines. Its JSON bridge is not the wire format; it is the human interface that makes the protobuf wire format tolerable at a prompt.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
grpcurl | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/fullstorydev/grpcurl
install metadata
| Package key | brew:grpcurl |
|---|---|
| Version | 1.9.3 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/grpcurl |
| Homepage | https://www.fullstory.com/resources/content/fullstory-engineering-blog/ |
| Repository | https://github.com/fullstorydev/grpcurl |
| Upstream docs | https://github.com/fullstorydev/grpcurl#readme |
| License | MIT |
| Source archive | https://github.com/fullstorydev/grpcurl/archive/refs/tags/v1.9.3.tar.gz |
| Last updated | 2026-06-15T10:20:17-04:00 |
| Pulse | updated |
| Build dependencies | go |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | grpcurl |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
grpcurl
nix profile install nixpkgs#grpcurlgrpcurl 1.9.3-r13
CLI tool to interact with gRPC servers
https://github.com/fullstorydev/grpcurl
sudo apk add grpcurlgrpcurl 1.9.3-8.fc44
Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers
https://github.com/fullstorydev/grpcurl
sudo dnf install grpcurlgrpcurl
sudo port install grpcurlmain/grpcurl
scoop install main/grpcurlfullstorydev.grpcurl
winget install --id fullstorydev.grpcurl -esource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.