# grpcui — Interactive Web UI for gRPC Services > A command-line tool that launches an interactive web-based client for any gRPC server, providing a browser UI for exploring services and invoking RPCs. ## Install Save as a script file and run: # grpcui — Interactive Web UI for gRPC Services ## Quick Use ```bash go install github.com/fullstorydev/grpcui/cmd/grpcui@latest grpcui -plaintext localhost:50051 ``` This opens a browser tab with a form-based UI for exploring and calling your gRPC service. ## Introduction grpcui is an open-source command-line tool by FullStory that provides a web-based graphical interface for interacting with gRPC servers. It is the UI counterpart to grpcurl, offering a point-and-click experience for exploring services, composing requests, and inspecting responses without writing client code. ## What grpcui Does - Discovers all services and methods on a gRPC server via reflection - Presents a web form UI for composing and sending unary and streaming RPCs - Displays response messages, headers, trailers, and status codes in the browser - Supports TLS, mTLS, and plaintext connections with configurable credentials - Loads proto files directly when server reflection is not available ## Architecture Overview grpcui connects to the target gRPC server using the standard gRPC health and reflection protocols to enumerate available services and message types. It then starts a local HTTP server that serves a single-page web application. The browser UI renders dynamic forms based on the protobuf schemas and proxies each RPC call through the local server to the gRPC backend. ## Self-Hosting & Configuration - Install via go install or download a prebuilt binary from GitHub releases - Point at any gRPC server with grpcui hostname:port - Use -plaintext for servers without TLS or -cacert for custom CA bundles - Pass -proto flags to load service definitions from .proto files directly - Set -bind and -port to control the local web server address ## Key Features - Zero-config discovery of services, methods, and message types - Dynamic form generation from protobuf schemas with nested message support - Metadata editor for setting request headers and deadlines - Support for server streaming, client streaming, and bidirectional RPCs - Companion to grpcurl for teams that need both CLI and GUI workflows ## Comparison with Similar Tools - **grpcurl** — CLI-only gRPC client from the same team, no web UI - **Postman** — supports gRPC but requires importing proto files manually - **BloomRPC** — desktop GUI for gRPC, now archived and unmaintained - **Kreya** — commercial gRPC and REST client with a richer UI - **Evans** — terminal-based interactive gRPC client with REPL mode ## FAQ **Q: Does the server need to have reflection enabled?** A: Reflection makes discovery automatic. Without it, you can pass .proto files via the -proto flag and grpcui will parse them directly. **Q: Can I use it with TLS?** A: Yes. Pass -cacert for server CA verification and -cert/-key for mutual TLS. Use -plaintext only for development servers. **Q: Does it support streaming RPCs?** A: Yes. The web UI supports all four gRPC call types, including server streaming and bidirectional streaming. **Q: Is it just for development?** A: It is designed for development and debugging. For production monitoring, dedicated gRPC observability tools are more appropriate. ## Sources - https://github.com/fullstorydev/grpcui - https://pkg.go.dev/github.com/fullstorydev/grpcui --- Source: https://tokrepo.com/en/workflows/asset-c3db9efd Author: Script Depot