A tiny ConnectRPC gateway

Conny translates REST, gRPC, gRPC-Web, Connect, and MCP requests into whichever protocol your backend speaks — Connect, gRPC, or gRPC-Web — using a protobuf descriptor. One small binary out front, no config files, no sidecars, no control plane.

$ conny -d descriptor.pb http://localhost:8080
REST / JSONgRPCgRPC-WebConnectMCP
conny
ConnectgRPCgRPC-Web

Install

$ brew install connysh/tap/conny

Descriptor-driven

No route config. Point conny at a buf build descriptor and REST paths, methods, and JSON mappings come from your protos.

One small binary

A single static Go binary — drop it in front of your backend, in a container, or in a Kubernetes pod.

MCP for agents

--mcp serves an MCP endpoint at /mcp — unary RPCs become tools, with schemas and docs from the same descriptor.

Embeddable

Also a Go library: mount the gateway's http.Handler in your own server and middleware stack.