grpc_call
Call a unary gRPC method using JSON input. Supports server reflection or local .proto files.
Describe a gRPC service and call one of its unary methods with JSON, without generating a client for it first.
LABSCO SUMMARY
Both tools accept either path: use_reflection asks the server to describe itself, while proto_files and import_paths cover a target that has reflection turned off, which production services frequently do. The scope is deliberately narrow — grpc_call is documented for unary methods, so streaming is not what this is for. Within that scope the pairing is complete: grpc_describe tells you the message shape, grpc_call sends one built to match, and headers, plaintext and timeout_ms handle the parts of a real connection that a schema does not describe.
A gRPC client exposing 2 tools: one that describes services, methods and message symbols, and one that invokes a unary method from a JSON request body.
Nothing to configure for the server itself. Reaching a target needs either reflection enabled on it or the .proto files and their import paths present on the machine the server runs on, plus whatever credential that service expects, which travels in headers rather than in configuration.
One command — npx -y @grulex/grpc-invoke-mcp@latest
USE CASES
Resolve the method and its request message from the target, then send a JSON body built to match it.
Point the tools at the .proto files and their import paths instead of the server, and describe and call exactly as you would otherwise.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
grpc_callCall a unary gRPC method using JSON input. Supports server reflection or local .proto files.
grpc_describeDescribe gRPC services, methods, or message symbols using server reflection or local .proto files.
BEFORE YOU INSTALL
2 tools when we connected.
npx on PATH
CONTEXT COST
Rated by the size of the 2 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Add the block to your client, or run the command directly.
{
"mcpServers": {
"grpc-invoke-mcp": {
"command": "npx",
"args": [
"-y",
"@grulex/grpc-invoke-mcp@latest"
]
}
}
}npx -y @grulex/grpc-invoke-mcp@latest