home / http-apis / grpcurl

grpcurl

Official · FullStory
12k

gRPC CLI for listing services, describing schemas, and invoking RPC methods with JSON or protobuf text payloads.

$brew install grpcurl
Language
Go
Stars
12,492
Category
HTTP & APIs
Agent
Ready
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis

grpcurl is a gRPC inspection and invocation CLI for probing live endpoints or local protobuf descriptors from the shell. It lets you list services, inspect schemas, and call methods without generating a client first.

What It Enables
  • List exposed gRPC services and methods, or inspect symbols from local .proto and protoset files before touching a live server.
  • Invoke unary, server-streaming, client-streaming, and bidi RPCs with JSON request bodies, stdin pipelines, custom metadata headers, TLS, mTLS, and request time limits.
  • Describe messages and services, print request templates, and export discovered descriptors back out as .proto files or protosets for debugging and documentation.
Agent Fit
  • JSON is the default request and response format, so agents can pipe bodies in, parse returned messages, and keep gRPC work inside ordinary shell loops.
  • The same binary covers inspect and action paths: list and describe help an agent learn the API surface, then direct invocation closes the inspect-change-verify loop.
  • Automation stays strong when reflection is enabled or descriptor files are available ahead of time; fully interactive bidi streaming is possible, but less ergonomic in unattended runs.
Caveats
  • If a server does not expose reflection, you need the relevant .proto sources or protoset files before grpcurl can describe symbols or encode requests correctly.
  • List and describe output is mostly human-oriented text, so schema discovery often needs follow-up parsing or exported descriptors instead of native JSON.