Skip to content

Conversation

@SamMorrowDrums
Copy link
Collaborator

Summary

This PR upgrades the MCP Go SDK from v1.1.0 to v1.2.0-pre.1, which adds support for SEP-973 (icons and metadata). The new SDK includes:

  • Icons field on Tool struct (SEP-973)
  • Tool name validation
  • Elicitation defaults
  • URL mode elicitation
  • SSE connection polling timeouts

Changes

SDK Upgrade

  • Upgrade github.com/modelcontextprotocol/go-sdk to v1.2.0-pre.1

Icon Support Implementation

  • Add Icon field to ToolsetMetadata struct with Octicon names
  • Add OcticonURL() helper function to generate Octicon CDN URLs
  • Add ToolsetIcon() method on ToolsetMetadata to create mcp.Icon slices
  • Add SetIcons() method on Toolset for setting default icons per toolset
  • Add applyIcons() method to automatically apply toolset icons to tools when added
  • Add WithIcons() method on ServerTool for manual icon assignment

Configured Icons

Each toolset now has an appropriate Octicon icon assigned:

Toolset Icon
repos repo
issues issue-opened
pull_requests git-pull-request
actions play
users people
orgs organization
git git-branch
context person
code_security codescan
secret_protection key
dependabot dependabot
notifications bell
discussions comment-discussion
gists code
security_advisories shield
projects project
stargazers star
experiments beaker
dynamic tools
labels tag

Icons are sourced from GitHub's Primer Octicons and provided in both 16x16 and 24x24 sizes as SVG via the CDN URL format:
https://raw.githubusercontent.com/primer/octicons/main/icons/{name}-{size}.svg

Testing

  • script/lint passes
  • script/test passes
  • ✅ Build succeeds

Notes

This is a draft PR to test compatibility with the pre-release SDK. The icons feature requires MCP clients that support the new icons specification (SEP-973).

This PR upgrades the MCP Go SDK from v1.1.0 to v1.2.0-pre.1 with SEP-973 support.

Changes:
- Upgrade go-sdk to v1.2.0-pre.1 (adds icons, tool validation, elicitation)
- Add Icon field to ToolsetMetadata with Octicon names
- Add OcticonURL() and ToolsetIcon() helpers for icon generation
- Add SetIcons() and applyIcons() to Toolset for auto icon assignment
- Add WithIcons() on ServerTool for manual icon setting
- Configure Octicon icons for all toolsets (repo, issue-opened, etc.)
- Icons provided in 16x16 and 24x24 SVG from Primer Octicons CDN
Copy link

@t3xash0rnyt0ad777-commits t3xash0rnyt0ad777-commits left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link

@t3xash0rnyt0ad777-commits t3xash0rnyt0ad777-commits left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants