Upgrade go-sdk to v1.7.0 - #2968
Open
SamMorrowDrums wants to merge 2 commits into
Open
Conversation
Move from the v1.7.0-pre.3 pre-release to the final v1.7.0 release, which consolidates the pre-releases with no further changes. Regenerate the third-party license files to reflect the new version tag. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 95b8432c-f280-472e-a242-d3ca6dc31f19
The server exposes a static set of tools, prompts, and resources and never mutates them at runtime, so it never emits list_changed notifications. When capabilities are left unset, the go-sdk infers listChanged:true from the presence of items and advertises tools/prompts/resources list-change support we don't actually provide - and the 2026-07-28 spec (subscriptions/listen) tightens expectations around this. Declare empty tools/prompts/resources capabilities in NewMCPServer so both the stdio and remote servers advertise honestly. The remote HTTP handler already set these explicitly; that duplication is now removed in favour of the shared default, leaving only the remote-specific schema cache. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 95b8432c-f280-472e-a242-d3ca6dc31f19
Contributor
There was a problem hiding this comment.
Pull request overview
Upgrades the MCP Go SDK and centralizes capability declarations.
Changes:
- Upgrades go-sdk to v1.7.0.
- Disables unsupported list-change and deprecated logging capabilities.
- Regenerates platform license manifests.
Show a summary per file
| File | Description |
|---|---|
go.mod |
Updates SDK version. |
go.sum |
Updates dependency checksums. |
pkg/github/server.go |
Defines shared server capabilities. |
pkg/http/handler.go |
Removes redundant HTTP capability setup. |
third-party-licenses.darwin.md |
Updates Darwin license links. |
third-party-licenses.linux.md |
Updates Linux license links. |
third-party-licenses.windows.md |
Updates Windows license links. |
Review details
- Files reviewed: 6/7 changed files
- Comments generated: 2
- Review effort level: Medium
| github.com/lithammer/fuzzysearch v1.1.8 | ||
| github.com/microcosm-cc/bluemonday v1.0.27 | ||
| github.com/modelcontextprotocol/go-sdk v1.7.0-pre.3 | ||
| github.com/modelcontextprotocol/go-sdk v1.7.0 |
Comment on lines
+99
to
+103
| Capabilities: &mcp.ServerCapabilities{ | ||
| Tools: &mcp.ToolCapabilities{}, | ||
| Prompts: &mcp.PromptCapabilities{}, | ||
| Resources: &mcp.ResourceCapabilities{}, | ||
| }, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
github.com/modelcontextprotocol/go-sdkfromv1.7.0-pre.3→v1.7.0(final release, notes).v1.7.0consolidates thepre.1/pre.2/pre.3pre-releases with no further code changes, so this is a clean version bump with no source changes required.listChanged(and the deprecatedlogging) capabilities we don't actually support.Why the capability change
The go-sdk infers
listChanged: truefortools/prompts/resourceswhenever items are registered. But this server exposes a static set of tools/prompts/resources and never mutates them at runtime, so it never emitslist_changednotifications — we were advertising a capability we don't implement. The2026-07-28spec (unifiedsubscriptions/listen) tightens expectations here, so getting this right matters.The remote/HTTP handler already set empty capabilities explicitly. This moves that declaration into
NewMCPServerso both the stdio and remote servers advertise honestly, and removes the now-redundant duplication in the handler (leaving only the remote-specific schema cache).Advertised capabilities before → after (stdio):
Note: this also drops the deprecated
loggingcapability from the stdio server, matching what the remote server already advertised and aligning with the new spec's deprecation of logging.Validation
go build ./...script/test(full suite,-race)script/lint— 0 issuesscript/licenses-check— passes for all platformslistChangedNo tool schemas changed, so toolsnaps and generated README docs are unaffected.