Skip to content

Plugin request for Buf Schema Registry: protoc-gen-dedo-mcp #2806

Open

Description

@raveesh-me

Mandatory

Where is the source code for the plugin?

https://github.com/raveesh-me/dedo/tree/main/mcp/cmd/protoc-gen-dedo-mcp

protoc-gen-dedo-mcp writes the MCP (Model Context Protocol) tool input schema of every unary RPC, as JSON Schema 2020-12, at code-generation time:

  • field descriptions come from proto comments;
  • OUTPUT_ONLY fields are left out;
  • a request with a google.protobuf.FieldMask is a partial update (AIP-134), so only the resource name is required, and the schema lists the mask's valid paths;
  • a create leaves out the server-assigned name (AIP-133).

The output is one Go file per proto file, in the same package as protoc-gen-go's output: var MCPInputSchemas = map[string]string{...}.

Optional

Does the plugin have a valid semver version?

Yes, v0.5.0 (https://github.com/raveesh-me/dedo/releases/tag/v0.5.0). The Go module tag is mcp/v0.5.0, and go install github.com/raveesh-me/dedo/mcp/cmd/protoc-gen-dedo-mcp@v0.5.0 works.

Does the plugin have a dependency on another plugin?

Yes. The generated file joins the Go package written by protoc-gen-go: https://github.com/protocolbuffers/protobuf-go/tree/master/cmd/protoc-gen-go

Does the output of this plugin depend on any other external libraries?

The generated file imports nothing. Services pass the map to github.com/raveesh-me/dedo/mcp/mcpserver, which serves the tools generated by protoc-gen-go-mcp (https://github.com/redpanda-data/protoc-gen-go-mcp) with these schemas.

License: Apache-2.0. The output depends only on the request.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions