grpc-consumer

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

Package Information

Downloads: 6 weekly / 18 monthly
Latest Version: 0.0.3
Author: Suso Mendoza

Documentation

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

Discussion