SEP-1984: Comprehensive Tool Annotations for Enhanced Governance and UX#1984
SEP-1984: Comprehensive Tool Annotations for Enhanced Governance and UX#1984sambhav wants to merge 3 commits intomodelcontextprotocol:mainfrom
Conversation
e984577 to
777137c
Compare
ece9706 to
b90e4a9
Compare
1ac8d33 to
ed93f3c
Compare
|
A good tool hint leads to consistent and unambiguous client/server behaviors. Like Also some of the hints could be substituted by existing MCP mechanisms:
|
@pwwpche fair point, is there an established process to make "hints" / trial hints in a structured manner to establish whether the UX and Governance around it is consistent? Would be nice if we had an extension/hint-test-bed for adoption. Also if hints should be all independent seps or not.
I think long running and Task semantics can be independent from one another. This is different than the TaskHint originally proposed in #1938 and is more towards UX of long running operations. I think this will especially come into play with the stateless transport work.
This is intended to manage governance around this: what are the tools in this chain that CAN access privileged data. Even if we can guarantee auth around this, how do we have auditability. |
a0d40eb to
1a801a9
Compare
Can you elaborate on this a bit more? Transports generally wouldn't be able to leverage hints at all, and the host application already knows which transports each server is using. |
Yeah, do not intend this to be used for transports. I meant that Task-implementing servers may not be long running operations but simply enable reconnects, multiple task/result retrieval. The hint however can be used to establish consistent UX. Additionally for server/receivers that do not implement tasks capabilities, they can still expose slowProcessing hints for appropriate UX. Couple scenarios for when this hint is useful with and without task capability support.
|
|
@sambhav this SEP does not have an assigned sponsor. Are you looking to continue working on it and find sponsorship? |
Maintainer Activity CheckHi @sambhav! You're assigned to this SEP but there hasn't been any activity from you in 18 days. Please provide an update on:
If you're no longer able to sponsor this SEP, please let us know so we can find another maintainer. This is an automated message from the SEP lifecycle bot. |
Maintainer Activity CheckHi @sambhav! You're assigned to this SEP but there hasn't been any activity from you in 20 days. Please provide an update on:
If you're no longer able to sponsor this SEP, please let us know so we can find another maintainer. This is an automated message from the SEP lifecycle bot. |
Maintainer Activity CheckHi @sambhav! You're assigned to this SEP but there hasn't been any activity from you in 14 days. Please provide an update on:
If you're no longer able to sponsor this SEP, please let us know so we can find another maintainer. This is an automated message from the SEP lifecycle bot. |
This PR introduces a SEP proposing six new tool annotations:
aiProcessingHint,slowExecutionHint,resourceIntensiveHint,sensitiveDataHint,privilegedAccessHint, andreversibleHint.Motivation and Context
Organizations implementing MCP need better metadata about tools to support governance policies, security controls, and user experience enhancements. The current tool annotations are limited to basic operation semantics and don't provide sufficient information for:
This SEP formalizes the proposal from #616 and follows similar patterns established in #1938.
How Has This Been Tested?
Breaking Changes
None. All new annotations are optional with
undefinedas the default, maintaining full backward compatibility.Types of changes
Checklist
Additional context
Key Design Decisions
undefined(no claim made),false(explicitly not applicable),true(explicitly applicable)New Annotations
aiProcessingHintslowExecutionHintresourceIntensiveHintsensitiveDataHintprivilegedAccessHintreversibleHint