gRPC CLI for listing services, describing schemas, and invoking RPC methods with JSON or protobuf text payloads.
$brew install grpcurl
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
.protoand 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
.protofiles 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:
listanddescribehelp 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
.protosources 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.