Granc

What Granc is
Granc is a Linux command-line tool for making gRPC calls with JSON payloads. It is written in Rust and converts JSON to Protobuf and back at runtime, so the client does not need the service’s Protobuf files compiled into it. From a descriptor, Granc identifies unary, server-streaming, client-streaming, and bidirectional calls. It can discover schemas through server reflection or by reading a local binary FileDescriptorSet file.
Granc provides commands to list services and describe services, messages, and enums. It can generate static Markdown documentation with links between services and types, include custom request headers such as authorization or tracing metadata, and validate JSON before sending requests over the network. Its core logic is also available as a separate library crate for building tools such as integration tests, proxies, or automation. Granc is free and open source under either the Apache License 2.0 or MIT license, at the user’s option, and is self-hosted. Installation is given as `cargo install --locked granc`. The project has moved to Codeberg, and its GitHub repository was archived on March 9, 2026. TLS support with configurable root certificates and client identity is on the roadmap.
Who it suits
Granc suits Linux users who need to explore gRPC services or send calls using JSON rather than compiling service Protobuf files into a client. Developers building integration tests, proxies, or automation can also use its separate library crate.
What it does well
- Sends gRPC calls using JSON payloads.
- Supports unary and all three streaming RPC modes.
- Discovers schemas through reflection or a local descriptor file.
- Lists and describes services, messages, and enums.
- Provides a separate library crate for custom tooling.
What to know first
- Listed for Linux only.
- TLS support with configurable certificates and client identity is on the roadmap.
Limits
No paid plans or usage limits are stated. TLS support with configurable root certificates and client identity is listed on the roadmap.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Free/open-source software | No paid plans or usage limits stated | Free |
As codeberg.org lists them, read 4 Oct 2026. The maker's own page has the final word.
Getting started
- Open the project at https://codeberg.org/JasterV/granc.
- Install it with `cargo install --locked granc`.
- Use server reflection or provide a local binary FileDescriptorSet file to discover schemas.
- List or describe services, messages, and enums, then send JSON requests with any needed custom headers.
Verdict
Choose Granc if you want a free, self-hosted Linux CLI for gRPC calls and service inspection using JSON. Look elsewhere if you require TLS support with configurable root certificates and client identity now.
Questions
Is Granc free?
Yes. The free and open-source plan costs 0.00 USD, with no paid plans stated.
Which platforms does Granc support?
Granc is listed for Linux.
What licenses does Granc use?
It is offered under either the Apache License 2.0 or the MIT license, at the user’s option.
How does Granc discover service schemas?
It can use server reflection or a local binary FileDescriptorSet file.
Does Granc support streaming gRPC calls?
Yes. It detects unary, server-streaming, client-streaming, and bidirectional calls from the descriptor.
Where is the Granc project hosted?
The project has moved to Codeberg. Its GitHub repository was archived on March 9, 2026.
Facts from Granc's own pages
- Distribution
- The README gives `cargo install --locked granc` as the installation command. · github.com, 4 Oct 2026
- Documentation
- It generates static, cross-linked Markdown documentation for services and types. · github.com, 4 Oct 2026
- Encoding
- It transcodes JSON to Protobuf and back at runtime. · github.com, 4 Oct 2026
- Inspection
- Its commands list services and describe services, messages, and enums. · github.com, 4 Oct 2026
- JSON calls
- It sends gRPC calls using JSON payloads without compiling the service’s Protobuf files into the client. · github.com, 4 Oct 2026
- Library use
- The core logic is available as a separate library crate for building tools such as integration tests, proxies, or automation tools. · github.com, 4 Oct 2026
- License
- The project is offered under either the Apache License 2.0 or the MIT license, at the user’s option. · github.com, 4 Oct 2026
- Product
- Granc is a lightweight, dynamic gRPC command-line tool written in Rust. · github.com, 4 Oct 2026
- Project status
- The maker says the project moved to Codeberg; the GitHub repository was archived on March 9, 2026. · github.com, 4 Oct 2026
- Request metadata
- Requests can include custom headers such as authorization or tracing metadata. · github.com, 4 Oct 2026
- RPC modes
- It detects unary, server-streaming, client-streaming, and bidirectional calls from the descriptor. · github.com, 4 Oct 2026
- Schema discovery
- It can obtain schemas through server reflection or a local binary FileDescriptorSet file. · github.com, 4 Oct 2026
- Security limitation
- TLS support with configurable root certificates and client identity is listed on the roadmap. · github.com, 4 Oct 2026
- Validation
- Granc validates JSON before sending it over the network. · github.com, 4 Oct 2026
Where Granc stands on Freedom251
- gRPC Tools#13 of 24