Automic VaultAutomic Vault

brew

Install grpcurl with Homebrew, apk, dnf, MacPorts, Nix, scoop, winget

Like cURL, but for gRPC. Version 1.9.3 via Homebrew; verified 2026-06-15.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install grpcurl

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install grpcurl

MacPorts ports tree · devel/grpcurl/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add grpcurl

Alpine Linux edge package indexes · grpcurl · source: dl-cdn.alpinelinux.org

Fedora dnfverified · 92%
sudo dnf install grpcurl

Fedora Rawhide package metadata · grpcurl · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#grpcurl

nixpkgs package indexes · pkgs/by-name/gr/grpcurl/package.nix · source: api.github.com

Windows

Scoopverified · 92%
scoop install main/grpcurl

Scoop official bucket manifest trees · bucket/grpcurl.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id fullstorydev.grpcurl -e

Windows Package Manager source index · fullstorydev.grpcurl · source: cdn.winget.microsoft.com

overview

Package summary

Like cURL, but for gRPC

Commands and aliases

  • grpcurl

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2017: The grpcurl GitHub repository was created.
  • 2018: v1.0.0 was published on GitHub releases.
  • 2019: FullStory published 'The tale of gRPCurl', explaining the curl-for-gRPC motivation and related tooling reuse.
  • 2020s: The README documents Homebrew, Docker, Snap, Go install, and other packaging routes.

Related projects

  • gRPC is the RPC framework grpcurl targets.
  • Protocol Buffers provide the message and descriptor model grpcurl uses for JSON-to-binary translation.
  • grpcui is a browser UI built as a companion to grpcurl.
  • gRPC server reflection lets grpcurl discover schemas directly from a running service.
  • Prototool is cited by FullStory as another dynamic gRPC tool that used grpcurl implementation code.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 8 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
grpcurlcliglobal executable

freshness

Version and 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.

page generated2026-07-07
manager version1.9.3
manager updated2026-06-15
local dataok
upstreamcurrent
latest detectedv1.9.3

https://github.com/fullstorydev/grpcurl

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:grpcurl
Version1.9.3
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/grpcurl
Homepagehttps://www.fullstory.com/resources/content/fullstory-engineering-blog/
Repositoryhttps://github.com/fullstorydev/grpcurl
Upstream docshttps://github.com/fullstorydev/grpcurl#readme
LicenseMIT
Source archivehttps://github.com/fullstorydev/grpcurl/archive/refs/tags/v1.9.3.tar.gz
Last updated2026-06-15T10:20:17-04:00
Pulseupdated
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namegrpcurl
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

grpcurl

nix profile install nixpkgs#grpcurl
  • normalized package name match
  • Matched by: Grpcurl
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/gr/grpcurl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
apk95%

grpcurl 1.9.3-r13

CLI tool to interact with gRPC servers

https://github.com/fullstorydev/grpcurl

sudo apk add grpcurl
  • License: MIT
  • Architecture: x86_64
  • Source Package: grpcurl
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Grpcurl
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: grpcurl from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
dnf95%

grpcurl 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 grpcurl
  • License: Apache-2.0 AND BSD-3-Clause AND MIT
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: grpcurl
  • 3 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Grpcurl
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: grpcurl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
MacPorts95%

grpcurl

sudo port install grpcurl
  • normalized package name match
  • Matched by: Grpcurl
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/grpcurl/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Scoop95%

main/grpcurl

scoop install main/grpcurl
  • normalized package name match
  • Matched by: Grpcurl
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/grpcurl.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
winget95%

fullstorydev.grpcurl

winget install --id fullstorydev.grpcurl -e
  • normalized package name match
  • Matched by: Grpcurl
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: fullstorydev.grpcurl from https://cdn.winget.microsoft.com/cache/source.msix

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment