SP

stablekernel/protoc-gen-go-mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

37 stars 2 forks Качество 72 Тренд 26Apache-2.0

Протоковый плагин для генерации mcp-серверов в Golang из спецификации буфера протокола

Обзор

проток-ген-го-мкп --------------- Это плагин Topeka для компилятора protoc, который генерирует сервер модели-контекста-протокола (MCP) на основе определения буфера протокола. Концептуально это позволяет модели ИИ использовать существующие кодовые базы gRPC с естественным языком, что позволяет быстро создавать прототипы и использовать возможности LLM для кодовых баз на основе протобуфа. - Go 1.20 или более поздний - protoc 3.20 или более поздний - protoc-gen-go-grpc 1.71 или более поздний Проверьте Makefile для явного использования команды. Используйте make generate для генерации примера MCP-сервера из прото-файла. Отладчик будет запущен в безголовом режиме на порту 2345. Файл под отладкой будет $GOPATH/bin/protoc-gen-go-mcp. Вы можете подключиться к VSCode со следующей конфигурацией launch.json. Добавьте сервер mcp-vibe на свои серверы mcp: Плагин использует существующую генерацию кода для буферов протоколов и серверов gRPC и опирается на эту базу, используя и повторно используя части, где это необходимо.

Обзор (машинный перевод)

проток-ген-го-мкп

Это плагин Topeka для компилятора protoc, который генерирует сервер модели-контекста-протокола (MCP) на основе определения буфера протокола. Концептуально это позволяет модели ИИ использовать существующие кодовые базы gRPC с естественным языком, что позволяет быстро создавать прототипы и использовать возможности LLM для кодовых баз на основе протобуфа.

###Предпосылки Go 1.25 или более поздняя версия (сгенерированный импорт кода) Официальный MCP SDK, который требует этого.

  • проток 29.3 (версия Проверка на прочность (см.). [[Т1]]
  • проток-ген-го v1.36.6 и проток-ген-го-грпк v1.5.1 (точные версии, прикрепленные к директивам tool) [[Т3]]

Запуск плагина

Проверьте Makefile для явного использования команды. Используйте make generate для создания примера MCP-сервера из прото-файла.

####Отладка плагина

Отладчик будет запущен в безголовом режиме на порту 2345. Файл под [5] [[Воскресение]]. Вы можете подключиться к этому в VSCode В следующем [[Т6]].

####Проверка примера Установите пример mcp-vibe сервера

Добавьте сервер mcp-vibe к вашим серверам mcp:

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

protoc-gen-go-mcp

This is a Topeka plugin for the protoc compiler that generates a model-context-protocol(MCP) server based on a protocol buffer definition. Conceptually, this allows an AI model to use existing gRPC codebases with natural language, allowing for rapid prototyping and usage of LLM capabilities for protobuf based codebases.

Prerequisites

Running the plugin

Check out the Makefile for explicit command usage. Use make generate to generate the example MCP server from the proto file.

Debugging the plugin

make start-debugger

Will start the delve debugger in headless mode on port 2345. The file under debug will be $GOPATH/bin/protoc-gen-go-mcp. You can connect to that in VSCode with the following launch.json configuration.

{
  "name": "Connect to protoc-gen-go-mcp plugin",
  "type": "go",
  "request": "attach",
  "mode": "remote",
  "remotePath": "${workspaceFolder}",
  "port": 2345,
  "host": "127.0.0.1"
}

Testing the example

Install the example mcp-vibe server

go install ./cmd/mcp-vibe

Add the mcp-vibe server to your mcp servers:

{
  "mcpServers": {
    "vibe": {
      "command": "mcp-vibe"
    }
  }
}

What the plugin generates

A generated NewMCPServer wraps a gRPC client and an *mcp.Server from the official Go MCP SDK. Once you’ve called RegisterDefaultTools() (or registered individual tools, see below), serve that *mcp.Server the way any MCP server is served. The two most common transports:

// client is a examplev1.VibeServiceClient for the backend gRPC service, e.g.
// examplev1.NewVibeServiceClient(conn) for a grpc.ClientConn.

// Over stdio, for CLI-launched MCP clients (see cmd/mcp-vibe/main.go for the
// full, runnable version of this).
stdioServer := mcp.NewServer(&mcp.Implementation{Name: "vibe", Version: "0.0.1"}, nil)
examplev1.NewVibeServiceMCPServer(client, stdioServer).RegisterDefaultTools()
if err := stdioServer.Run(ctx, &mcp.StdioTransport{}); err != nil {
	panic(err)
}
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "vibe": { "command": "mcp-vibe" } } }