Skip to content

Model Context Protocol (MCP) server to interact with gRPC services using the grpcurl tool

Notifications You must be signed in to change notification settings

wricardo/grpcurl-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MCP Grpcurl

This project is an Model Context Protocol (MCP) server designed to interact with gRPC services using the grpcurl tool. It leverages the grpcurl command-line utility to perform various operations on gRPC services, such as invoking methods, listing services, and describing service details.

Features

  • Invoke gRPC Methods: Use reflection to invoke gRPC methods with custom headers and JSON payloads.
  • List gRPC Services: Retrieve a list of all available gRPC services on the target server.
  • Describe gRPC Services: Get detailed descriptions of gRPC services or message types.

Requirements

  • Go 1.23.0 or later
  • grpcurl tool installed on your system

Setup

  1. install grpcurl: https://github.com/fullstorydev/grpcurl

  2. Install the package:

    go install github.com/wricardo/mcp-grpcurl@latest
  3. Configure Cline by adding the following to your MCP settings:

    "mcp-grpcurl": {
      "command": "mcp-grpcurl",
      "env": {
        "ADDRESS": "localhost:8005"
      },
      "disabled": false,
      "autoApprove": []
    }

Usage

Run the MCP server:

mcp-grpc-client

Tools

  • invoke: Invoke a gRPC method using reflection.

    • Parameters:
      • method: Fully-qualified method name (e.g., package.Service/Method).
      • request: JSON payload for the request.
      • headers: (Optional) JSON object for custom gRPC headers.
  • list: List all available gRPC services on the target server.

  • describe: Describe a gRPC service or message type.

    • Use dot notation for symbols (e.g., mypackage.MyService).

About

Model Context Protocol (MCP) server to interact with gRPC services using the grpcurl tool

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages