-
Notifications
You must be signed in to change notification settings - Fork 1.2k
SEP-1984: Comprehensive Tool Annotations for Enhanced Governance and UX #1984
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?
SEP-1984: Comprehensive Tool Annotations for Enhanced Governance and UX #1984
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.
|
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