A command-line tool for interacting with gRPC servers, similar to curl but for gRPC.
gRPCurl is a command-line utility that allows developers to invoke RPC methods on gRPC servers directly from the terminal. It translates JSON requests into binary protocol buffers, enabling easy interaction with gRPC services that would otherwise require custom clients. It also supports service discovery via server reflection or local proto files.
Developers, DevOps engineers, and QA testers working with gRPC-based microservices who need to test, debug, or script interactions with gRPC servers.
gRPCurl provides a curl-like experience for gRPC, making it the go-to tool for quick testing and automation without writing custom client code. Its support for JSON, server reflection, and streaming methods offers unmatched convenience for gRPC workflows.
Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows sending requests in human-readable JSON format, which is converted to binary protobufs, making it scriptable and easy to debug, as highlighted in the JSON Request Encoding feature.
Automatically discovers service schemas from servers that support reflection, eliminating the need for local proto files and simplifying ad-hoc testing, as noted in the descriptor sources section.
Handles all gRPC method types including unary and streaming RPCs, with interactive bidirectional streaming via stdin, making it versatile for various gRPC workflows.
Works with server reflection, local .proto files, or compiled protoset files, providing multiple ways to access schema definitions when reflection is unavailable.
Requires server reflection enabled or access to .proto/protoset files; without these, grpcurl cannot function, adding overhead in environments with restricted server configurations.
Using Docker involves pitfalls like network configuration issues (e.g., localhost vs host.docker.internal) and volume mounting for proto files, which can complicate setup, as warned in the Docker section.
Lacks a GUI, which may be less intuitive for users accustomed to visual tools for API testing, debugging, and exploring service schemas in real-time.