
redpanda-data/protoc-gen-go-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
redpanda-data/protoc-gen-go-mcp — это кандидат на MCP-сервер, импортированный из https://github.com/redpanda-data/protoc-gen-go-mcp.
Обзор
redpanda-data/protoc-gen-go-mcp — это кандидат на MCP-сервер, импортированный из https://github.com/redpanda-data/protoc-gen-go-mcp.
Обзор (машинный перевод)
protoc-gen-go-mcp — это плагин компилятора буферов протоколов, который генерирует серверы Model Context Protocol (MCP) для ваших API gRPC или ConnectRPC.
Он генерирует файлы *.pb.mcp.go для каждого сервиса protobuf, что позволяет делегировать обработчики напрямую на gRPC-серверы или клиенты. Внутри MCP использует JSON Schema для входов инструментов — protoc-gen-go-mcp автоматически генерирует эти схемы из ваших дескрипторов методов.
Генерируемый код — MCP-library-aggnostic: выбирайте modelcontextprotocol/go-sdk (официальный SDK) или mark3labs/mcp-go при создании сервера через тонкий адаптер — регенерация не требуется.
Особенности
- Автоматически генерирует обработчики MCP из ваших
.protoсервисов - Выводит схему JSON для входных методов
- Подключение к серверам/клиентам gRPC или ConnectRPC
- Лёгкая интеграция с
buf - Выбор провайдера LLM во время выполнения — стандартные схемы, совместимые с MCP или OpenAI
- MCP Library Agnotic — поддерживаются официальные go-sdk и mark3labs/mcp-go
Использование
Генерировать код
Добавьте запись в ваш buf.gen.yaml:
Вам также нужно сгенерировать стандартные файлы *.pb.go. protoc-gen-go-mcp по умолчанию использует отдельную подпапку {$servicename}mcp и импортирует '*pb.
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
protoc-gen-go-mcp
protoc-gen-go-mcp is a Protocol Buffers compiler plugin that generates Model Context Protocol (MCP) servers for your gRPC or ConnectRPC APIs.
It generates *.pb.mcp.go files for each protobuf service, enabling you to delegate handlers directly to gRPC servers or clients. Under the hood, MCP uses JSON Schema for tool inputs – protoc-gen-go-mcp auto-generates these schemas from your method input descriptors.
Generated code is MCP-library-agnostic: pick modelcontextprotocol/go-sdk (the official SDK) or mark3labs/mcp-go at server creation time through a thin adapter – no regeneration needed.
Features
- Auto-generates MCP handlers from your
.protoservices - Outputs JSON Schema for method inputs
- Wire up to gRPC or ConnectRPC servers/clients
- Easy integration with
buf - Runtime LLM provider selection – standard MCP or OpenAI-compatible schemas
- MCP library agnostic – official go-sdk and mark3labs/mcp-go both supported
Usage
Generate code
Add entry to your buf.gen.yaml:
...
plugins:
- local:
- go
- run
- github.com/redpanda-data/protoc-gen-go-mcp/cmd/protoc-gen-go-mcp@latest
out: ./gen/go
opt: paths=source_relative
You need to generate the standard *.pb.go files as well. protoc-gen-go-mcp by defaults uses a separate subfolder {$servicename}mcp, and imports the *pb.go files – similar to connectrpc-go.
After running buf generate, you will see a new folder for each package with protobuf Service definitions:
tree pkg/testdata/gen/
gen
go
testdata
test_service.pb.go
testdataconnect/
test_service.connect.go
testdatamcp/
test_service.pb.mcp.go
Setting up the MCP server
Generated code programs against the runtime.MCPServer interface. You choose the backing MCP library by importing the corresponding adapter package.
With the official go-sdk (recommended)
import (
"github.com/modelcontextprotocol/go-sdk/mcp"
"github.com/redpanda-data/protoc-gen-go-mcp/pkg/runtime/gosdk"
)
// Create server -- raw is *mcp.Server for transport, s is runtime.MCPServer for tools.
raw, s := gosdk.NewServer("my-server", "1.0.0")
testdatamcp.RegisterTestServiceHandler(s, &srv)
// Serve over stdio
raw.Run(ctx, &mcp.StdioTransport{})
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →