mcp-grpc mcp

v1.0.1 · MCP Tool · networking · registry.pascalai.org

gRPC service wrapper — interact with gRPC services via grpcurl CLI or gRPC-Gateway HTTP/JSON transcoding. Requires grpcurl in PATH.

grpcrpcprotobufapimicroservices

Input Parameters

ParameterTypeDescription
operationrequired string Operation to perform. One of: list_services, describe_service, describe_method, call, call_tls, list_methods, health_check, http_call.
hostrequired string gRPC server host e.g. localhost.
grpcPortoptional integer gRPC port (default: 50051). Default: 50051.
serviceNameoptional string Fully qualified service name e.g. helloworld.Greeter.
methodNameoptional string Method name e.g. SayHello.
requestBodyoptional string JSON request body string e.g. {"name":"world"}.
protoFileoptional string Path to .proto file for grpcurl -proto flag.
protoDiroptional string Path to proto import directory for grpcurl -import-path flag.
authTokenoptional string Bearer token for grpcurl -H "Authorization: Bearer {token}".
httpPortoptional integer HTTP port for http_call operation (default: 8080). Default: 8080.
httpPathoptional string URL path for http_call e.g. /v1/hello.
httpBodyoptional string JSON body for http_call.
timeoutSecoptional integer Command timeout in seconds (default: 30). Default: 30.

Output Fields

FieldTypeDescription
ok boolean
output string
exit_code integer
response string
error string

Examples

List gRPC services

// Input
{
  "operation": "list_services",
  "host": "localhost",
  "grpcPort": 50051
}

// Output
{
  "ok": true,
  "output": "helloworld.Greeter"
}

Call a gRPC method

// Input
{
  "operation": "call",
  "host": "localhost",
  "grpcPort": 50051,
  "serviceName": "helloworld.Greeter",
  "methodName": "SayHello",
  "requestBody": "{\"name\":\"world\"}"
}

// Output
{
  "ok": true,
  "output": "{\"message\":\"Hello world\"}"
}

Install & Discovery

Install

ppm install mcp-grpc

Get JSON Schema

GET /v1/packages/mcp-grpc/1.0.1/schema

Discover by keyword

GET /v1/mcp/discover?q=grpc
Discovery hint: Install with ppm install mcp-grpc or invoke remotely via POST /v1/invoke/mcp-grpc on the MCP Service.

PascalAI Usage

uses toolslib;
var Tool := LoadTool('mcp-grpc');
var R := Tool.Call(JsonObj(['operation','list_services','host','localhost']));
Writeln(R.ToJSON);