You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As GitHub we have loads of tools, and we'd love to expose them all - but we don't want models to get confused and provide a bad experience. We imagine a future with a more dynamic solution, but so far to make more of our platform available via MCP, this is what we would propose:
Partition tools in groups according to product area, feature area
Enable setting the available features via ENV and CLI flags.
Have a default set of features that so far consists of repos, issues, pull_requests & search
Have a means of enabling everything
Additionally provide an experiments option that enables us to stage new tools, or variations of tools without breaking semver conventions, or requiring a version bumps.
Build and release Docker images that pass individual product features as arguments, so they can be used as separate servers.
This means that if you start a server with limited tools, you would need to restart it or load an additional server to get access to the remaining tools.
We're curious to hear what people think, and as the MCP specification evolves, we anticipate that there will be more dynamic solutions in the future, but we want to enable users to access the full range of features possible, without breaking the experience generally.
The text was updated successfully, but these errors were encountered:
This is great! I would say maybe we only need a single Docker image if we allow the toolsets to be defined by an env var since we could pass that in with docker run -e.
Two improvements, where list_changed notifications would be used to dynamically adjust the tools list for the clients:
It would be even better when the provided list be based on the scope of the current PAT. I usually just provide repo access; the other tools would just fail anyways.
Can the server provide a tool that toggle on groups of tools as needed?
As GitHub we have loads of tools, and we'd love to expose them all - but we don't want models to get confused and provide a bad experience. We imagine a future with a more dynamic solution, but so far to make more of our platform available via MCP, this is what we would propose:
repos
,issues
,pull_requests
&search
experiments
option that enables us to stage new tools, or variations of tools without breaking semver conventions, or requiring a version bumps.PR for technical implementation details: http://github.com/github/github-mcp-server/pull/188
This means that if you start a server with limited tools, you would need to restart it or load an additional server to get access to the remaining tools.
We're curious to hear what people think, and as the MCP specification evolves, we anticipate that there will be more dynamic solutions in the future, but we want to enable users to access the full range of features possible, without breaking the experience generally.
The text was updated successfully, but these errors were encountered: