grpcmcp
Health Pass
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 29 GitHub stars
Code Warn
- Code scan incomplete — No supported source files were scanned during light audit
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
MCP Server for gRPC
grpcmcp
A simple MCP server that will proxy to a grpc backend based on a provided descriptors file or using reflection.
Quick Start
Install the binary:
go install .orgo install github.com/adiom-data/grpcmcpEnsure the go bin directory is in your PATH.In a terminal, run the example grpc server
go run example/main.go. This will start a grpc health service on port 8090 with server reflection enabled. Note that this runs on the default port that grpcmcp will connect to.Streamable HTTP Transport In another terminal, run
grpcmcp --hostport=localhost:3000 --reflect. Specifyinghostportwill use Streamable HTTP by default. The MCP endpoint will be served athttp://localhost:3000/mcp.Legacy SSE Transport For older clients, run
grpcmcp --hostport=localhost:3000 --transport=sse --reflect. The SSE endpoint will be served athttp://localhost:3000/sse.STDIN Transport Set up the MCP config. e.g.
"grpcmcp": {
"command": "grpcmcp",
"args": ["--reflect"]
}
Options / Features
grpcmcp --help for a full list of options.
hostportstring - When set, serve MCP over HTTP, and use this as the server host:port.transportstring - Transport to use whenhostportis set. Defaults tohttpfor Streamable HTTP at/mcp. Set tossefor the legacy SSE transport at/sse.descriptorsstring - Specify file location of the protobuf definitions generated frombuf build -o protos.pborprotoc --descriptor_set_out=protos.pbinstead of using gRPC reflection.reflect- If set, use reflection to retrieve gRPC endpoints instead of descriptor file.urlstring - Specify the url of the backend server.servicesstring - Comma separated list of fully qualified gRPC service names to filter.bearerstring - Token to attach in anAuthorization: Bearerheader.bearer-envstring - Environment variable for token to attach in anAuthorization: Bearerheader. Overridesbearer.headerstring (repeatable) - Headers to add inKey: Valueformat.
Help
Join our Discord at https://discord.gg/hDjx3DehwG
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found