Auto determine capabilities #8
Merged
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.
I added logic to auto-determine a server's capabilities based on the protocol features actually used in the server.
tools_list_handler
, it returns thetools
capabilityprompts_list_handler
, it returns theprompts
capabilityresources
capabilityMotivation and Context
I found it unnecessary that you have to manually specify the capabilities when they could be actually auto-determined from the server definition.
How Has This Been Tested?
I tried out a few patterns in my local mcp inspector
Breaking Changes
This should not be a breaking change since an empty tool list and no capability should make no practical difference to a procotol conform MCP client.
Types of changes
Checklist
Additional context
I was even thinking about completely removing the ability to set or override the capabilities manually but maybe that would have been going too far - and it would have also made testing of
ensure_capability!
more complicated