HTTP、GraphQL、gRPC、WebSocket、SSEのリクエストを、gitで管理できるプレーンな.httpファイルに保存するターミナルAPIクライアント。
fullstorydev/grpcurl
JSON入力でgRPCサーバーを呼び出す、curlのようなコマンドラインツール。server reflectionやprotoファイルからスキーマを取得できます。
代替できる製品:Postman
- スター
- 12,861
- フォーク
- 589
- 未解決の Issue
- 121
- 最終コミット
- 9 日前
これは何?
grpcurlを使うと、コマンドラインからgRPCサーバーのRPCメソッドを呼び出せます。gRPCは通信にバイナリ形式のProtocol Buffersを使うため、通常のcurlではこれらのサーバーと通信できません。grpcurlはリクエストボディとしてJSONを受け取り、protobufに変換して、レスポンスを読みやすい形式で出力します。
サービスのスキーマは、gRPC server reflectionに対応したサーバーへの問い合わせ、.protoソースファイルの読み込み、コンパイル済みprotosetファイルの読み込みという3つの方法で取得できます。単項メソッドとストリーミングメソッドに対応しており、ターミナルから対話的に操作する双方向ストリームも扱えます。TLSと平文のどちらのサーバーにも接続でき、クライアント証明書を使う相互TLSにも対応しています。
CLIに加えて、リポジトリには、gRPCエンドポイントを動的に呼び出すツールの構築に役立つヘルパーを備えたGoライブラリパッケージも含まれています。
主な機能
- 01JSONのリクエストボディを送信し、自動的にprotobufへ変換します。
- 02単項、サーバーストリーミング、クライアントストリーミング、双方向ストリーミングの各メソッドに対応しています。
- 03server reflection、.protoファイル、protosetファイルからスキーマを取得します。
- 04平文、TLS、相互TLSの接続に対応しています。
- 05サービス一覧やシンボルの説明を確認でき、protoファイルやprotosetファイルをエクスポートできます。
ユースケース
- ターミナルからテストリクエストを送信して、gRPCサービスをデバッグする。
- たとえばjqでリクエストボディを生成し、シェルのパイプラインでgRPC呼び出しをスクリプト化する。
- サービスやメソッドを一覧表示して、未知のgRPC APIを調べる。
- Goライブラリを使ってgRPCエンドポイントを動的に呼び出す社内ツールを構築する。
クイックスタート
- 1
Homebrewを使ってmacOSにgrpcurlをインストールする
brew install grpcurl - 2
またはGoツールチェーンを使ってソースからインストールする
go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest - 3
リフレクションに対応したサーバー上のサービスを一覧表示する
grpcurl localhost:8787 list
使う前に知っておきたいこと
- 呼び出しにはgRPCサーバーが必要です。スキーマを把握するには、サーバーリフレクション、protoファイル、またはprotosetファイルが必要です。
トピック
よくある質問
- grpcurl とは?
- JSON入力でgRPCサーバーを呼び出す、curlのようなコマンドラインツール。server reflectionやprotoファイルからスキーマを取得できます。 grpcurlを使うと、コマンドラインからgRPCサーバーのRPCメソッドを呼び出せます。gRPCは通信にバイナリ形式のProtocol Buffersを使うため、通常のcurlではこれらのサーバーと通信できません。grpcurlはリクエストボディとしてJSONを受け取り、protobufに変換して、レスポンスを読みやすい形式で出力します。
- grpcurl は無料で使えますか?ライセンスは?
- grpcurl は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- grpcurl は今もメンテナンスされていますか?
- 活発にメンテナンス中。grpcurl の最終コミットは 2026年10月13日 です。
- grpcurl は何に使えますか?
- ターミナルからテストリクエストを送信して、gRPCサービスをデバッグする。 たとえばjqでリクエストボディを生成し、シェルのパイプラインでgRPC呼び出しをスクリプト化する。 サービスやメソッドを一覧表示して、未知のgRPC APIを調べる。 Goライブラリを使ってgRPCエンドポイントを動的に呼び出す社内ツールを構築する。
- grpcurl のインストール方法は?
- Homebrewを使ってmacOSにgrpcurlをインストールする: brew install grpcurl またはGoツールチェーンを使ってソースからインストールする: go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest リフレクションに対応したサーバー上のサービスを一覧表示する: grpcurl localhost:8787 list
- grpcurl はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/fullstorydev/grpcurl
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Hurlは、プレーンテキスト形式のファイルに記述したHTTPリクエストを実行・テストするコマンドラインツールです。
HTTPieの構文を多く引き継ぎ、起動が速い使いやすいコマンドラインHTTPクライアント。
OpenAPI v2/v3やPostman Collectionから、リクエスト検証と検証プロキシを備えたモックAPIを生成するCLIおよびHTTPサーバー。
バージョン管理可能なYAMLコレクションでRESTリクエストを定義・実行できる、ターミナル向けHTTPクライアント(TUI)。
YAMLファイルでリクエストを管理できる、PostmanやInsomniaに代わるターミナルベースのHTTP APIクライアント。