{"id":48710,"library":"ngrpcli","title":"ngrpcli","description":"ngrpcli is a lightweight Node.js gRPC CLI client for making gRPC requests from the command line. Current stable version is 1.0.3. It allows users to specify a proto file, package, service, RPC method, URL, and JSON payload via command-line flags. Key differentiators: simple and minimal compared to full-featured gRPC clients like grpcurl, requires no interactive shell, and is written in TypeScript with NestJS. Releases are infrequent (last update in 2023).","status":"active","version":"1.0.3","language":"javascript","source_language":"en","source_url":"ssh://git@github.com/AshkanAbd/ngrpcli","tags":["javascript","grpc","grpcli","grpcc","grpc-cli","node-grpc","node-grpc-cli","node-grpc-client","grpc-client"],"install":[{"cmd":"npm install ngrpcli","lang":"bash","label":"npm"},{"cmd":"yarn add ngrpcli","lang":"bash","label":"yarn"},{"cmd":"pnpm add ngrpcli","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package is ESM-only; CommonJS require will fail.","wrong":"const ngrpcli = require('ngrpcli')","symbol":"default","correct":"import ngrpcli from 'ngrpcli'"},{"note":"ESM-only; named export 'run' is available.","wrong":"const { run } = require('ngrpcli')","symbol":"run","correct":"import { run } from 'ngrpcli'"},{"note":"TypeScript type exported; wrong if using inline type without import.","wrong":"type NgrpcliOptions = ...","symbol":"NgrpcliOptions","correct":"import { NgrpcliOptions } from 'ngrpcli'"}],"quickstart":{"code":"npx ngrpcli -u localhost:5000 -p mypackage -P ./proto/my.proto -s MyService -r MyRpc -d '{\"key\": \"value\"}'","lang":"javascript","description":"Makes a gRPC call to localhost:5000 using a proto file, service, and RPC with JSON payload."},"warnings":[{"fix":"Use absolute path or path relative to where you run the CLI.","message":"Proto file path must be absolute or relative to current working directory; not resolved relative to package root.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use double quotes for strings inside JSON (e.g., '{\"key\":\"value\"}') and escape properly.","message":"Payload must be valid JSON string; non-JSON or malformed JSON will cause silent failure or incorrect request.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Always provide --package if proto file does not have a 'package' statement.","message":"The --package flag is required but may be redundant if proto file defines package; future versions might infer it.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Use Node.js v18+.","message":"Node.js v18 or later is required; earlier versions will throw errors due to ESM and NestJS dependencies.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'1.0.3':22 '2023':75 'allow':24 'cli':8,82,89 'client':9,55,93,96 'command':16,41 'command-lin':40 'compar':49 'current':18 'differenti':45 'featur':53 'file':30 'flag':43 'full':52 'full-featur':51 'grpc':7,12,54,77,81,85,88,92,95 'grpc-cli':80 'grpc-client':94 'grpcc':79 'grpcli':78 'grpcurl':57 'infrequ':71 'interact':60 'javascript':76 'json':37 'key':44 'last':72 'lightweight':5 'like':56 'line':17,42 'make':11 'method':34 'minim':48 'nestj':68 'ngrpcli':1,2 'node':84,87,91 'node-grpc':83 'node-grpc-c':86 'node-grpc-cli':90 'node.js':6 'packag':31 'payload':38 'proto':29 'releas':69 'request':13 'requir':58 'rpc':33 'servic':32 'shell':61 'simpl':46 'specifi':27 'stabl':19 'typescript':66 'updat':73 'url':35 'user':25 'version':20 'via':39 'written':64","created_at":"2026-06-07T16:58:04.775260+00:00","updated_at":"2026-06-07T16:58:04.775260+00:00","problems":[{"fix":"Install globally with 'npm i -g ngrpcli' or use 'npx ngrpcli'.","cause":"Global install not recognized or missing dependency.","error":"Error: Cannot find module 'ngrpcli'"},{"fix":"Use absolute path or ensure proto file exists relative to current working directory.","cause":"Proto file path is incorrect or relative path not resolved from CWD.","error":"Error: ENOENT: no such file or directory, open './proto/my.proto'"},{"fix":"Use valid JSON: wrap keys in double quotes and use double quotes for strings.","cause":"Payload is not valid JSON due to single quotes or missing quotes.","error":"SyntaxError: Unexpected token ... in JSON at position 0"},{"fix":"Verify server is running and URL is correct (e.g., localhost:5000).","cause":"gRPC server is not running or URL is incorrect.","error":"Error: 14 UNAVAILABLE: Connection refused"},{"fix":"Use import syntax or switch to CommonJS by setting type: 'commonjs' in package.json (if applicable).","cause":"Using require() when package is ESM-only.","error":"ReferenceError: require is not defined in ES module scope"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/AshkanAbd/ngrpcli","github":"ssh://git@github.com/AshkanAbd/ngrpcli","docs":null,"changelog":null,"pypi":null,"npm":"ngrpcli","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}