npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-grpc-consumer

v0.0.3

Published

n8n community node to consume gRPC services with automatic discovery via Server Reflection

Readme

n8n-nodes-grpc-consumer

This is an n8n community node. It lets you consume gRPC services directly from your n8n workflows using automatic service discovery via gRPC Server Reflection. No .proto files needed.

n8n is a fair-code licensed workflow automation platform.

Installation Operations Configuration Usage Compatibility Resources Version history

Installation

Follow the installation guide in the n8n community nodes documentation.

npm install n8n-nodes-grpc-consumer

Operations

Discover Services

Connects to a gRPC server and lists all available services and their methods using Server Reflection.

| Option | Description | | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | | Include Method Details | Returns full method signatures: input/output types, streaming mode (unary, server-streaming, client-streaming, bidirectional) | | Include Input Schema | Returns the message schema for each method's input type (field names, types, nesting) and a ready-to-use JSON template |

Example output:

{
	"services": [
		{
			"name": "mypackage.UserService",
			"methods": [
				{
					"name": "GetUser",
					"fullName": "mypackage.UserService.GetUser",
					"inputType": "mypackage.GetUserRequest",
					"outputType": "mypackage.UserResponse",
					"clientStreaming": false,
					"serverStreaming": false,
					"type": "unary",
					"inputTemplate": { "id": 0 }
				}
			],
			"methodCount": 1
		}
	],
	"serviceCount": 1,
	"server": "localhost:50051"
}

Invoke Method

Calls a specific gRPC method on the server. Services and methods can be selected from dynamic dropdowns (populated via reflection) or entered manually.

Supports all four gRPC call types:

| Type | Description | | --------------------------- | -------------------------------------------------------------- | | Unary | Single request, single response | | Server Streaming | Single request, multiple responses (collected into an array) | | Client Streaming | Multiple requests (via items array in JSON), single response | | Bidirectional Streaming | Multiple requests, multiple responses |

Parameters:

| Parameter | Description | | ---------------- | --------------------------------------------------------------------------------------------- | | Service Name | Select from dropdown or type the fully qualified service name (e.g. mypackage.UserService) | | Method Name | Select from dropdown or type the method name (e.g. GetUser) | | Request Data | JSON body to send. Use Discover Services with Include Input Schema to see the expected format |

Advanced options:

| Option | Description | | ---------------- | ------------------------------------------------ | | Timeout (ms) | Request timeout in milliseconds (default: 30000) | | Metadata | Key-value pairs sent as gRPC metadata headers |

Configuration

The node requires only one parameter to connect:

  • Server Address: The gRPC server address in host:port format (e.g. localhost:50051)

Requirements

The target gRPC server must have Server Reflection enabled. This is what allows the node to discover services and methods at runtime without .proto files.

Most gRPC frameworks support reflection:

  • Go (google.golang.org/grpc/reflection)
  • Java/Kotlin (io.grpc:grpc-services - ProtoReflectionService)
  • Python (grpc_reflection)
  • Node.js (@grpc/reflection)
  • C#/.NET (Grpc.AspNetCore.Server.Reflection)
  • Rust (tonic-reflection)

Authentication

This node currently connects using insecure credentials (no TLS, no authentication). It is intended for use with internal/trusted gRPC services within your network.

Usage

Step 1: Discover what's available

  1. Add the gRPC Consumer node to your workflow
  2. Set the Server Address to your gRPC server
  3. Select operation Discover Services
  4. Enable Include Method Details and optionally Include Input Schema
  5. Execute the node

This gives you the full API surface of the server: every service, method, input/output types, and optionally a JSON template you can copy directly into the Invoke Method operation.

Step 2: Call a method

  1. Change the operation to Invoke Method
  2. Select a Service and Method from the dropdowns (they are populated dynamically from the server)
  3. Paste or build your Request Data JSON
  4. Execute the node

Using as an AI Agent tool

The node has usableAsTool: true, which means it can be used as a tool by n8n's AI Agent node. This allows an AI agent to discover and call gRPC services autonomously.

Compatibility

  • n8n: Tested with n8n v1.x
  • Node.js: Requires Node.js v22 or higher
  • gRPC Reflection: Supports both grpc.reflection.v1 and grpc.reflection.v1alpha protocols

Resources

Development

# Install dependencies
npm install

# Start n8n with the node loaded (hot reload)
npm run dev

# Lint
npm run lint

# Build for production
npm run build

Version history

0.0.1

Initial release:

  • gRPC service discovery via Server Reflection (v1 and v1alpha)
  • Dynamic service and method selection via dropdowns
  • Invoke gRPC methods (unary, server-streaming, client-streaming, bidirectional)
  • Input schema inspection and JSON template generation
  • Custom metadata and timeout support
  • AI Agent tool compatibility

License

MIT