fullstorydev/grpcurl

Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 29 minutes ago
Added to GitGenius on September 4th, 2026
Created on November 20th, 2017
Open Issues & Pull Requests: 119 (+0)
GitHub issues: Enabled
Number of forks: 577
Total Stargazers: 12,803 (+0)
Total Subscribers: 77 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.6 days
Mean response time: 137.0 days
90th percentile: 505.7 days
Tracked items: 48

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 8% of issues opened in the past year have been closed. Three people close 80% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 36
New in 7 days: 1
Closed in 7 days: 2
Avg open age: 702 days
Stale 30+ days: 32
Stale 90+ days: 29

Recent activity

Opened in 7 days: 1
Closed in 7 days: 2
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Detailed Description

grpcurl is a command-line tool for interacting with gRPC servers.

The tool solves the problem that gRPC servers use binary protocol buffer encoding, making them impossible to interact with using standard HTTP tools like curl. grpcurl accepts JSON-encoded messages, which are human-friendly and script-friendly, and translates them into the binary protobuf format required by gRPC. It supports all RPC method types, including unary, server streaming, client streaming, and bidirectional streaming methods. For bidirectional streaming, users can interact interactively from a terminal using stdin as the request body.

The tool works with gRPC servers in multiple ways. If a server supports the gRPC reflection service, grpcurl can query it directly to discover the service schema. Alternatively, users can provide proto source files or protoset files containing compiled descriptors. The tool supports both plain-text and TLS-secured connections, including mutual TLS where the client must present a certificate. grpcurl is suitable for developers who need to test, debug, or manually invoke gRPC services during development and operations. It fills a gap for teams working with gRPC who lack a simple command-line interface comparable to curl for HTTP APIs.

The project maintains active development with regular updates and fixes. The codebase is written in Go and includes not only the command-line tool but also a library package that other tools can use to dynamically invoke gRPC endpoints. The project provides multiple installation methods including precompiled binaries, Homebrew on macOS, and Docker images, making it accessible across different development environments.