-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
good first issueGood for newcomersGood for newcomers
Description
Problem
The Go SDK (sdk/go/protomcp) currently requires Go 1.25+ in its go.mod, but the SDK code itself only uses standard Go features that would compile with Go 1.21+.
The 1.25 requirement is inherited because:
sdk/go/go.modhasreplace github.com/msilverblatt/protomcp => ../..- The root module requires Go 1.25 (because
modelcontextprotocol/go-sdk v1.4.1requires it) - Go's module system requires the child version >= the replaced module's version
The root module legitimately needs Go 1.25 (it uses range over iter.Seq from the MCP SDK). But the SDK module that users go get into their projects doesn't need any of that.
Proposed Solution
Decouple the SDK's protobuf dependency from the root module:
- The SDK currently imports
gen/proto/protomcpfrom the root module for protobuf types - Instead, the SDK should have its own copy of the generated types (or a shared lightweight proto module with a lower Go version requirement)
- Remove the
replacedirective fromsdk/go/go.mod - Set the SDK's
godirective to the actual minimum version its code requires
Impact
Users running Go 1.22-1.24 would be able to use the protomcp Go SDK. The pmcp binary (distributed via Homebrew) is unaffected since users never compile it themselves.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomers