-
Notifications
You must be signed in to change notification settings - Fork 3.4k
feat: mark copilot toolset as default for remote server #1823
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
The copilot toolset contains important tools like `create_pull_request_with_copilot` and `get_copilot_job_status` that should be available by default in the remote MCP server. By setting `Default: true` on the toolset metadata in OSS, the remote server automatically picks it up without needing any special handling. Even though no tools in OSS use this toolset, having the metadata here allows consistent behavior when the remote server loads defaults. This is a cleaner approach than having the remote server maintain its own list of additional default toolsets.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR attempts to make the copilot toolset default for the remote MCP server by setting Default: true on the ToolsetMetadataCopilot metadata definition in OSS.
Changes:
- Added
Default: truefield toToolsetMetadataCopilotinpkg/github/tools.go
|
@copilot - I'd like to change the approach here. Instead of just setting Current problem:
Proposed solution:
This way:
Please implement this change to make |
|
@SamMorrowDrums I've opened a new pull request, #1824, to work on those changes. Once the pull request is ready, I'll request review from you. |
- Added `toolsetMetadata` field to Builder for registering standalone toolset metadata - Added `SetToolsetMetadata()` method to Builder for setting standalone metadata - Updated `processToolsets()` to include standalone metadata in default toolsets - Updated `NewInventory()` to register remote-only toolset metadata - Updated test expectations to include `copilot` in defaults This change enables toolset metadata with `Default: true` to control whether tools in that toolset are included by default, even if no tools in the OSS repo use that toolset. The remote server can now register tools in the `copilot` toolset and they will automatically be included in defaults. Co-authored-by: SamMorrowDrums <[email protected]>
- Enhanced field comment to clarify use case - Added note about additive behavior to SetToolsetMetadata docstring Co-authored-by: SamMorrowDrums <[email protected]>
Summary
The
copilottoolset contains important tools likecreate_pull_request_with_copilotandget_copilot_job_statusthat should be available by default in the remote MCP server.Changes
Default: trueonToolsetMetadataCopilotWhy this approach?
By setting
Default: trueon the toolset metadata in OSS, the remote server automatically picks it up viaGetDefaultToolsetIDs()without needing any special handling.Even though no tools in OSS currently use this toolset (the copilot tools are remote-only), having the metadata here allows the remote server to benefit from the default expansion logic already built into the inventory system.
This is cleaner than having the remote server:
Impact on OSS users
None - since no OSS tools belong to the
copilottoolset, this change has no effect on the local MCP server. The toolset will simply be expanded as part of defaults but result in zero additional tools being enabled.Closes github/github-mcp-server-remote#619