Cliente de API no terminal que armazena requisições HTTP, GraphQL, gRPC, WebSocket e SSE em arquivos .http simples, que você pode versionar no git.
fullstorydev/grpcurl
Uma ferramenta de linha de comando para chamar servidores gRPC, como o curl, mas usando entradas JSON, com descoberta de schemas via server reflection ou arquivos proto.
Alternativa open source a:Postman
- Estrelas
- 12,861
- Forks
- 589
- Issues abertas
- 121
- Último commit
- há 9 dias
O que é?
grpcurl permite invocar métodos RPC em servidores gRPC pela linha de comando. Como o gRPC usa Protocol Buffers binários na transmissão, o curl comum não consegue se comunicar com esses servidores. grpcurl aceita corpos de requisição em JSON, converte-os para protobuf e exibe as respostas em um formato legível.
A ferramenta descobre os schemas de três formas: consultando um servidor compatível com gRPC server reflection, lendo arquivos-fonte .proto ou carregando arquivos protoset compilados. Ela lida com métodos unários e de streaming, incluindo streams bidirecionais controlados interativamente pelo terminal. Funciona com servidores TLS e sem criptografia, incluindo mutual TLS com certificados de cliente.
Além da CLI, o repositório oferece um pacote de biblioteca Go com helpers para criar outras ferramentas que invocam endpoints gRPC dinamicamente.
Recursos principais
- 01Envia corpos de requisição JSON e os converte automaticamente para protobuf.
- 02Suporta métodos unários, de streaming do servidor, de streaming do cliente e de streaming bidirecional.
- 03Descobre schemas via server reflection, arquivos .proto ou arquivos protoset.
- 04Suporta conexões sem criptografia, TLS e mutual TLS.
- 05Lista serviços e descreve símbolos, além de poder exportar arquivos proto ou protoset.
Casos de uso
- Depurar um serviço gRPC enviando requisições de teste pelo terminal.
- Automatizar chamadas gRPC em pipelines de shell, por exemplo, usando jq para gerar corpos de requisição.
- Explorar uma API gRPC desconhecida listando seus serviços e métodos.
- Criar ferramentas internas que invocam endpoints gRPC dinamicamente por meio da biblioteca Go.
Início rápido
- 1
Instale o grpcurl no macOS com Homebrew
brew install grpcurl - 2
Ou instale a partir do código-fonte com a toolchain do Go
go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest - 3
Liste os serviços em um servidor compatível com reflection
grpcurl localhost:8787 list
Antes de usar
- A invocação requer um servidor gRPC; para entender o esquema, são necessários server reflection, arquivos proto ou arquivos protoset.
Tópicos
Perguntas frequentes
- O que é grpcurl?
- Uma ferramenta de linha de comando para chamar servidores gRPC, como o curl, mas usando entradas JSON, com descoberta de schemas via server reflection ou arquivos proto. grpcurl permite invocar métodos RPC em servidores gRPC pela linha de comando. Como o gRPC usa Protocol Buffers binários na transmissão, o curl comum não consegue se comunicar com esses servidores. grpcurl aceita corpos de requisição em JSON, converte-os para protobuf e exibe as respostas em um formato legível.
- grpcurl é gratuito? Qual é a licença?
- grpcurl é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- grpcurl ainda é mantido?
- Manutenção ativa. O último commit de grpcurl foi em 13 de out. de 2026.
- Para que posso usar grpcurl?
- Depurar um serviço gRPC enviando requisições de teste pelo terminal. Automatizar chamadas gRPC em pipelines de shell, por exemplo, usando jq para gerar corpos de requisição. Explorar uma API gRPC desconhecida listando seus serviços e métodos. Criar ferramentas internas que invocam endpoints gRPC dinamicamente por meio da biblioteca Go.
- Como instalar grpcurl?
- Instale o grpcurl no macOS com Homebrew: brew install grpcurl Ou instale a partir do código-fonte com a toolchain do Go: go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest Liste os serviços em um servidor compatível com reflection: grpcurl localhost:8787 list
- Onde consigo grpcurl?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/fullstorydev/grpcurl
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Hurl é uma ferramenta de linha de comando que executa e testa requisições HTTP descritas em arquivos de texto simples.
Um cliente HTTP de linha de comando rápido e fácil de usar, que reimplementa boa parte da sintaxe do HTTPie com inicialização mais rápida.
CLI e servidor HTTP que transformam arquivos OpenAPI v2/v3 e Postman Collection em APIs simuladas, com validação de requisições e um proxy de validação.
Cliente HTTP de terminal (TUI) que define e executa requisições REST a partir de coleções YAML com controle de versão.
Cliente de API HTTP para terminal, alternativa ao Postman e ao Insomnia, com requisições armazenadas em arquivos YAML simples.