# grpcurl を Homebrew, apk, dnf, MacPorts, Nix, scoop, winget でインストール

grpcurl のインストール経路、実行ファイル、メタデータ、AI エージェント向けセキュリティノートを確認します。

## インストール

```sh
sudo av install brew:grpcurl
```

追加のインストールコマンド:

### macOS

- Homebrew (100%):

```sh
brew install grpcurl
```

  証拠: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install grpcurl
```

  証拠: MacPorts ports tree: devel/grpcurl/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add grpcurl
```

  証拠: Alpine Linux edge package indexes: grpcurl from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install grpcurl
```

  証拠: Fedora Rawhide package metadata: grpcurl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#grpcurl
```

  証拠: nixpkgs package indexes: pkgs/by-name/gr/grpcurl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- Scoop (92%):

```sh
scoop install main/grpcurl
```

  証拠: Scoop official bucket manifest trees: bucket/grpcurl.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id fullstorydev.grpcurl -e
```

  証拠: Windows Package Manager source index: fullstorydev.grpcurl from https://cdn.winget.microsoft.com/cache/source.msix

## パッケージ情報

- **パッケージキー:** brew:grpcurl
- **パッケージマネージャ:** Homebrew
- **バージョン:** 1.9.3
- **ソース概要:** Like cURL, but for gRPC
- **ホームページ:** <https://www.fullstory.com/resources/content/fullstory-engineering-blog/>
- **リポジトリ:** <https://github.com/fullstorydev/grpcurl>
- **最終更新:** 2026-07-27T14:57:52+02:00
- **生成日時:** 2026-08-03T19:37:03+00:00

## 実行可能ファイル

- grpcurl (エイリアス)

## インストール挙動

- Bottle: 利用不可

## バージョンと鮮度

- ページ生成日: 2026-08-03
- マネージャ版: 1.9.3
## プロジェクトの歴史と使われ方

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.

### タイムライン

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

### ソース

- <https://github.com/fullstorydev/grpcurl>
- <https://github.com/fullstorydev/grpcurl/releases>
- <https://raw.githubusercontent.com/fullstorydev/grpcurl/master/README.md>
- <https://www.fullstory.com/blog/tale-of-grpcurl/>


## セキュリティノート

narrow executable package without higher-risk signals.

- **Geiger リスク:** グリーン / 低
- narrow executable package without higher-risk signals

## 他のパッケージマネージャ記録

- Nix - grpcurl: normalized package name match | nixpkgs package indexes: pkgs/by-name/gr/grpcurl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - grpcurl - 1.9.3-r14: normalized package name match | Alpine Linux edge package indexes: grpcurl from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | CLI tool to interact with gRPC servers | https://github.com/fullstorydev/grpcurl
- dnf - grpcurl - 1.9.3-8.fc44: normalized package name match | Fedora Rawhide package metadata: grpcurl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers | https://github.com/fullstorydev/grpcurl
- MacPorts - grpcurl: normalized package name match | MacPorts ports tree: devel/grpcurl/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/grpcurl: normalized package name match | Scoop official bucket manifest trees: bucket/grpcurl.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - fullstorydev.grpcurl: normalized package name match | Windows Package Manager source index: fullstorydev.grpcurl from https://cdn.winget.microsoft.com/cache/source.msix


## Combined YAML source

View the package source record on GitHub. [combined/grpcurl.yml](https://github.com/mxcl/pkgdb/blob/main/combined/grpcurl.yml)


## ソース

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
