Granc
codeberg.org
What it is
Granc is a free, open-source Linux command-line tool written in Rust for dynamic gRPC calls. It sends JSON payloads without requiring service Protobuf files to be compiled into the client, translating JSON to Protobuf and back at runtime. Using a descriptor, it detects unary, server-streaming, client-streaming, and bidirectional RPCs. Schemas can come from server reflection or a local binary FileDescriptorSet file. Commands list services and describe services, messages, and enums. Granc also creates static Markdown documentation cross-linked between services and types. Requests may include custom headers such as authorization or tracing metadata, and JSON is validated before transmission. The core logic is available as a separate library crate for integration tests, proxies, and automation tools. Installation is documented with cargo install --locked granc. The project has moved to Codeberg, while its GitHub repository was archived on March 9, 2026. It is offered under Apache License 2.0 or MIT. TLS support with configurable roots and client identity is on the roadmap.
Spec sheet
- Product
- Granc is a lightweight, dynamic gRPC command-line tool written in Rust.Read 4 Oct 2026 · github.com
- License
- The project is offered under either the Apache License 2.0 or the MIT license, at the user’s option.Read 4 Oct 2026 · github.com
- Distribution
- The README gives `cargo install --locked granc` as the installation command.Read 4 Oct 2026 · github.com
- Documentation
- It generates static, cross-linked Markdown documentation for services and types.Read 4 Oct 2026 · github.com
- Encoding
- It transcodes JSON to Protobuf and back at runtime.Read 4 Oct 2026 · github.com
- Inspection
- Its commands list services and describe services, messages, and enums.Read 4 Oct 2026 · github.com
- JSON calls
- It sends gRPC calls using JSON payloads without compiling the service’s Protobuf files into the client.Read 4 Oct 2026 · github.com
- Library use
- The core logic is available as a separate library crate for building tools such as integration tests, proxies, or automation tools.Read 4 Oct 2026 · github.com
- Project status
- The maker says the project moved to Codeberg; the GitHub repository was archived on March 9, 2026.Read 4 Oct 2026 · github.com
- Request metadata
- Requests can include custom headers such as authorization or tracing metadata.Read 4 Oct 2026 · github.com
- RPC modes
- It detects unary, server-streaming, client-streaming, and bidirectional calls from the descriptor.Read 4 Oct 2026 · github.com
- Schema discovery
- It can obtain schemas through server reflection or a local binary FileDescriptorSet file.Read 4 Oct 2026 · github.com
- Security limitation
- TLS support with configurable root certificates and client identity is listed on the roadmap.Read 4 Oct 2026 · github.com
- Validation
- Granc validates JSON before sending it over the network.Read 4 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Uses JSON without compiled Protobuf files
- Detects all listed RPC modes
- Supports reflection and local descriptors
- Generates cross-linked Markdown documentation
- Available as a library crate
Limits
- TLS support is only on the roadmap
- Linux is the listed platform
- GitHub repository was archived
- No paid plans or usage limits are stated
Who it suits
Granc suits Linux users who need JSON-driven gRPC inspection, calls, documentation, or reusable library logic. It is self-hosted and useful for testing, proxy, and automation tooling.
Verdict
Granc provides descriptor-driven gRPC calls and inspection from a Linux terminal, with both CLI and library forms. Its missing TLS implementation is the main stated roadmap limitation.
Where Specifiction places it
- gRPC Tools#15 of 247.7