grpcurl Command-Line gRPC Client
grpcurl Command-Line gRPC Client
Like cURL but for gRPC servers. A command-line tool for interacting with gRPC services using server reflection or proto files, supporting unary calls, streaming, TLS, and metadata headers.
Overview
grpcurl is a command-line tool developed by FullStory that enables interaction with gRPC servers in the same way curl works for HTTP/REST APIs. gRPC APIs are notoriously difficult to test manually because they use Protocol Buffers binary encoding rather than human-readable JSON, and standard HTTP tools cannot speak the HTTP/2-based gRPC wire protocol. grpcurl solves this by providing a curl-like interface that handles protobuf serialization, HTTP/2 framing, and gRPC-specific features transparently.
The grpcurl Command-Line gRPC Client skill gives agents the ability to discover, test, and debug gRPC services from the command line. grpcurl can connect to a gRPC server and use server reflection to discover available services and methods without needing local proto files. Running grpcurl localhost:50051 list lists all services, and grpcurl localhost:50051 describe mypackage.MyService shows the full service definition including request/response message schemas. For servers without reflection enabled, grpcurl accepts proto source files or compiled descriptor sets via the -proto or -protoset flags.
Invoking RPCs is straightforward: grpcurl -d '{"name": "world"}' localhost:50051 helloworld.Greeter/SayHello sends a unary request with a JSON body and prints the response as formatted JSON. grpcurl supports all four gRPC communication patterns: unary, server streaming, client streaming, and bidirectional streaming. For streaming RPCs, multiple request messages can be sent by providing a series of JSON objects separated by newlines.
The tool handles TLS connections with configurable CA certificates, client certificates for mutual TLS, and an insecure mode for development. Custom metadata headers can be attached via -H flags, enabling authentication token injection and request tracing. grpcurl also supports Unix domain sockets, custom authority headers, and connect timeout configuration. Written in Go and distributed as a single static binary, grpcurl is installable via go install, Homebrew, and pre-built releases for Linux, macOS, and Windows. The underlying grpcurl Go package can also be used as a library for building custom gRPC tooling. With over 12,000 GitHub stars, an MIT license, and broad adoption in the gRPC ecosystem, grpcurl is the standard tool for command-line gRPC interaction.
Installation
Any Agent
More from agentskillexchange/skills
your skill name
A clear description of what this skill does and when to use it. Reference specific APIs, tools, or techniques.
23playwright visual regression tester
Automates visual regression testing using the Playwright screenshot comparison API and pixelmatch diffing library. Captures baseline snapshots, detects pixel-level UI changes across viewport sizes, and generates HTML diff reports with threshold-based pass/fail results.
2playwright visual regression suite
Automated visual regression testing using Playwright’s screenshot comparison API (page.screenshot with maxDiffPixelRatio) and toMatchSnapshot assertions. Supports cross-browser testing on Chromium, Firefox, and WebKit.
2stripe payments connector
Full Stripe API integration using the stripe-node SDK. Creates PaymentIntents via stripe.paymentIntents.create(), manages Customers and Subscriptions, handles webhook events through stripe.webhooks.constructEvent(), and supports Stripe Connect for marketplace payouts.
2grafana loki log query agent
Queries Grafana Loki log aggregation system using LogQL via the Loki HTTP API. Filters log streams by labels, parses structured JSON logs, and correlates log entries with Grafana dashboard panels.
2great expectations data validation pipeline
Validate data quality using the Great Expectations Python library. Define expectations as unit tests for your data, run validation suites, and generate human-readable data quality reports.
1