- Notifications
You must be signed in to change notification settings - Fork949
Description
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.
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.