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.
- 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.
- Go 1.23.0 or later
grpcurl
tool installed on your system
-
install grpcurl: https://github.com/fullstorydev/grpcurl
-
Install the package:
go install github.com/wricardo/mcp-grpcurl@latest
-
Configure Cline by adding the following to your MCP settings:
"mcp-grpcurl": { "command": "mcp-grpcurl", "env": { "ADDRESS": "localhost:8005" }, "disabled": false, "autoApprove": [] }
Run the MCP server:
mcp-grpc-client
-
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.
- Parameters:
-
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
).
- Use dot notation for symbols (e.g.,