1. Conduid
  2. Developer Tools
  3. Protoc Gen Go MCP
MCP server · Developer Tools

Protoc Gen Go MCP

A protoc plugin for generating mcp servers in golang from a protocol buffer specification

Unclaimed Apache-2.0 last commit 7 months ago devtools
58Fair

Scored 2 days ago · breakdown

About Protoc Gen Go MCP

Protoc Gen Go MCP is an MCP server published by stablekernel in the Developer Tools category: a protoc plugin for generating mcp servers in golang from a protocol buffer specification. It has been installed 0 times through Conduid.

The repository has 35 stars and 2 forks, with the last commit 7 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx protoc-gen-go-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Protoc Gen Go MCP

Powered by Claude · Grounded in docs

I know everything about Protoc Gen Go MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.2.2v0.2.2 · 20 May 2025[0.2.2](https://github.com/stablekernel/protoc-gen-go-mcp/compare/v0.2.1...v0.2.2) (2025-05-20) Bug Fixes release please token ([#80](https://github.com/stablekernel/protoc-gen-go-mcp/issues/80))…
v0.2.1v0.2.1 · 20 May 2025[0.2.1](https://github.com/stablekernel/protoc-gen-go-mcp/compare/v0.2.0...v0.2.1) (2025-05-20) Features Add GitHub Actions workflow for build and release process ([#65](https://github.com/stablekernel/protoc-gen-go-mcp/issues/65))…
v0.2.0v0.2.0 · 14 May 2025[0.2.0](https://github.com/stablekernel/protoc-gen-go-mcp/compare/v0.1.0...v0.2.0) (2025-05-13) Features Enhance enum handling in field assignment ([#63](https://github.com/stablekernel/protoc-gen-go-mcp/issues/63))…
v0.1.0v0.1.0 · 8 May 2025[0.1.0](https://github.com/stablekernel/protoc-gen-go-mcp/compare/v0.0.2...v0.1.0) (2025-05-08) Features Adds in individual tool registration ([#61](https://github.com/stablekernel/protoc-gen-go-mcp/issues/61))…
v0.0.2v0.0.2 · 8 May 2025[0.0.2](https://github.com/stablekernel/protoc-gen-go-mcp/compare/v0.0.1...v0.0.2) (2025-05-07) Bug Fixes commit history to include a conventional commit message ([#55](https://github.com/stablekernel/protoc-gen-go-mcp/issues/55))…

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"
    }
  }
}

Philosophical Notes

The plugin uses the existing code generation for protocol buffers and gRPC servers and builds upon that base, using and reusing parts where necessary. This gives us a healthy amount of code reuse while allowing us to control what we expose to end users. We want this plugin to provide sane, out-of-the-box functionality while allowing for easy extension.

How is this achieved?

The code is broken into composable parts:

  1. The protoc-gen-go-mcp plugin generates default tools based on the request parameters for any given RPC. eg:
message SetVibeRequest {
  string vibe = 1;
}

message SetVibeResponse {
  string previous_vibe = 1;
  string vibe = 2;
}

service VibeService {
  // Set Vibe
  rpc SetVibe(SetVibeRequest) returns (SetVibeResponse) {}
}

This snippet defines the SetVibe RPC, which takes a SetVibeRequest message and contains a definition of the request parameter SetVibeRequest message. The plugin generates the following tools by default:

func (s *vibeServiceMCPServer) SetVibeTool() mcp.Tool {
	tool := mcp.NewTool("...internal instantiation of the tool")
	// ... internal implementation follows
	return tool
}

This tool can be subsequently registered with the server to make the RPC available to the model.

  1. The protoc-gen-go-mcp plugin generates a default handler that interacts with a generated gRPC client for interaction with this server to parse the mcp.Tool into a defined gRPC request leveraging a generated client.
func (s *vibeServiceMCPServer) SetVibeHandler(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResult, error) {
	//... internal instantiation of the handler
}
  1. These two pieces are combined upon registration to provide the LLM with knowledge of the RPC method and how to use them:
func (s *vibeServiceMCPServer) RegisterDefaultTools() {
	//...other tools added above
	s.MCPServer.AddTool(s.SetVibeTool(), s.SetVibeHandler)
    //...other tools added below
}

Topeka

Topeka is an open source project that provides code-generators for Model-Context-Protocol (MCP).

It is designed to facilitate the usage of MCP seamlessly against existing gRPC based applications. This is done via leveraging code generation using the protoc compiler and installing the relevant Topeka plugin.

The plugins follow Semantic Versioning and any plugin prior to 1.0.0 releases ARE still subject to breaking changes. Please note, this is applied to the generated servers, not the plugins themselves, which do not provide public APIs. This project reserves the right to change how code generation is achieved, while maintaining stable MCP server APIs.

Maintainers

Stable Kernel is the primary maintainer of this project and sponsor of the plugins, though we welcome outside contributions.

Stable Kernel is a digital transformation company building solutions that power LLM enablement for growing businesses. We have a track record of helping our partners solve their biggest challenges on their digital journey, whether they need insights or implementation. Every day, millions of people rely on software that we developed, and our custom software development and technology services have been trusted by some of the most innovative Fortune 500 companies in the world.

README mirrored from the source repository 2 days ago. The original is authoritative.

Questions

About Protoc Gen Go MCP

How do I install Protoc Gen Go MCP?

Run npx protoc-gen-go-mcp, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Protoc Gen Go MCP safe to use with an AI agent?

Its trust score is 58 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Protoc Gen Go MCP still maintained?

The last commit was 7 months ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.