gRPC Client
protobuf-nativeImport your .proto files, choose a method, and send a request. Call a gRPC-Web service directly or connect to a native gRPC service with the Holy CORS local bridge.
For native gRPC, this page connects to Holy CORS running on your computer.
brew trust bugdays-com/tap && brew install bugdays-com/tap/holy-cors && holy-cors Select a methodDecoded messages, metadata, status and trailers appear here.
Saved requests
Local history
Connect to a native gRPC service
Run Holy CORS on your computer, enter your service URL above, and send a request. Inspect decoded messages, gRPC status, response headers, and trailers here. If your service supports gRPC-Web, select Direct gRPC-Web and connect without the bridge.
brew trust bugdays-com/tap
brew install bugdays-com/tap/holy-cors
holy-corsdocker run --rm -p 127.0.0.1:2345:2345 ghcr.io/bugdays-com/holy-cors:latestKeep the container running while you use the client. The port is exposed only on your computer.
Prefer a standalone executable? Download the latest binary. Then choose Connect bridge and send your request. Your browser may ask permission to connect to this local service.
Using Docker to reach a service running on your computer? Enter host.docker.internal instead of localhost in the service URL. On Linux, add --add-host=host.docker.internal:host-gateway to the Docker command if that hostname is unavailable.
Explore and test gRPC methods
Import one or more .proto files to browse services and methods. Choose an RPC, edit the JSON request, and send it. Decoded messages, gRPC status, headers, trailers, timing, and raw response bytes are available in the response panel.
Contract-aware requests
Load multiple imported proto files, browse services, generate request templates, and catch type errors before sending.
Useful debugging context
Inspect decoded messages, HTTP headers, gRPC trailers, status codes, elapsed time, and raw response bytes.
Local by design
Proto parsing and saved history stay in the browser. Authentication secrets are excluded from saved requests, history, shares, and exports.
Supported RPC types
Send unary and server-streaming calls. Client-streaming and bidirectional methods appear in the contract browser, but sending them is not supported here. Use grpcurl or a native SDK for those calls.
Need a walkthrough? Read how to test a gRPC API with proto files, metadata, deadlines, and streaming. If the endpoint choice is unclear, start with gRPC-Web versus native gRPC in the browser.