Skip to content

Conversation

@thoorp
Copy link
Contributor

@thoorp thoorp commented Dec 7, 2025

This PR migrates SEP-1792 (“Add agencyHint tool annotation”) from the GitHub issue tracker into the seps/ directory, following the updated SEP workflow.

It adds seps/0000-agency-hint-tool-annotation.md in the standard SEP format, documenting the new agencyHint boolean in the ToolAnnotations interface. The SEP includes sections on motivation, specification, rationale, backward compatibility, reference implementation, and security implications.

Original discussion: #1792

Motivation and Context

Agentic tools can perform multi-step operations and require different UX and safety handling compared to simple tools. Adding the agencyHint annotation will allow clients to identify such tools and apply appropriate confirmation or monitoring flows.

How Has This Been Tested?

This is a documentation change only; no executable code is introduced.

Breaking Changes

None. The new annotation is optional and additive. Existing tools and clients are unaffected.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the [MCP Documentation](https://modelcontextprotocol.io)
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

This PR follows the new SEP process update (Nov 28, 2025) to migrate SEP proposals into pull requests rather than issues.

…o MCP specification

This SEP introduces the `agencyHint` tool annotation to the Model Context Protocol, allowing clients to identify agentic tools that perform complex operations. It provides guidance for tool authors and clients on how to use this new annotation effectively.
@thoorp
Copy link
Contributor Author

thoorp commented Dec 7, 2025

@LucaButBoring - please take a look when you get a chance.

Copy link
Contributor

@LucaButBoring LucaButBoring left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made some small suggestions - the main ones are just to remove the mentions of taskHint, since we turned that into execution.taskSupport just prior to the 11/25 release.

The reference implementation section is also intended to actually link to a draft SDK PR, I don't anticipate that being very difficult for this, though.

@LucaButBoring
Copy link
Contributor

@000-000-000-000-000 Mind adding me as the assignee on this, since I'm sponsoring it?

@LucaButBoring
Copy link
Contributor

Also the PR name should be adjusted to something like SEP-1938: agencyHint tool annotation, I don't have permission to do that myself

@LucaButBoring
Copy link
Contributor

Oh right, and regarding the GHA failure - @thoorp just run npm run prep:changes on this, and it should fix it.

@localden localden added proposal SEP proposal without a sponsor. SEP labels Dec 9, 2025
@thoorp
Copy link
Contributor Author

thoorp commented Dec 11, 2025

Oh right, and regarding the GHA failure - @thoorp just run npm run prep:changes on this, and it should fix it.

This is done. Will look into other comments and making the SEP complete.

@thoorp thoorp closed this Dec 11, 2025
@thoorp thoorp reopened this Dec 11, 2025
Copy link
Contributor

@LucaButBoring LucaButBoring left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just left one minor comment - will see about raising this to Core Maintainers (first time sponsoring an SEP so no reliable ETA yet, but I'll relay statuses and give an ETA as soon as I have one).


Tool authors _should_ set `agencyHint: true` when:

- The tool encapsulates an internal “agent loop” (e.g., plan–act–observe cycles, tool-chaining, or autonomous retries).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I think tool-chaining and autonomous retries are a bit too generic to include in this parenthetical - maybe we should remove the parenthetical entirely and just rely on (or reuse) the semantics described above this to avoid confusion.

@LucaButBoring
Copy link
Contributor

@localden can we mark this as in-review? I think it's in good enough shape now to raise it for CM discussion.

@thoorp thoorp changed the title Add SEP: agencyHint tool annotation SEP-1938: agencyHint tool annotation Dec 16, 2025
Copy link

@vinoo999 vinoo999 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like the intention of this SEP here. Would be great to see if we can align the review of this with some of the granular features proposed in SEP 1984.
In particular, I think the separation between "agentic" behavior (aiProcessingHint in 1984) and "long running" behavior (slowExecutionHint) are important UX and governance concerns.

I'd be interested in going over specific combination of hints and consistent reproducible UX/governance patterns for the varying hints proposed in 1984 and if that granularity also makes sense to split 1938 into 2 hints (naming aside :) )

@LucaButBoring
Copy link
Contributor

I think it would be reasonable to remove "long-running" verbiage from the spec around this hint (cc: @thoorp). Agency doesn't necessarily imply something being long-running, and what "long-running" even means is subjective according to the particular host application and server.

I'm not sure if I agree a long-running hint is useful just yet, but I'll leave that discussion to #1984.

@thoorp
Copy link
Contributor Author

thoorp commented Dec 18, 2025

Yeah, I will update the description to keep the focus on Autonomous / Agentic aspect.

@vinoo999
Copy link

For the "agency" piece on the governance side, #1984 defines the aiProcessingHint

Indicates whether the tool involves AI or LLM processing. This includes any tool that uses machine learning models, language models, or AI services for processing data or generating responses. When undefined, clients should make no assumptions about AI processing.

Do you think these "ai capabilities" can be encapsulated or are separate to an "agency" hint? I think this SEP currently well covers the UX of agency, but not necessarily the governance of tools that can/should be allowed in particular applications. i.e. would like to add in the description that agency implies AI usage explicitly.

@thoorp
Copy link
Contributor Author

thoorp commented Dec 20, 2025

For the "agency" piece on the governance side, #1984 defines the aiProcessingHint

Indicates whether the tool involves AI or LLM processing. This includes any tool that uses machine learning models, language models, or AI services for processing data or generating responses. When undefined, clients should make no assumptions about AI processing.

Do you think these "ai capabilities" can be encapsulated or are separate to an "agency" hint? I think this SEP currently well covers the UX of agency, but not necessarily the governance of tools that can/should be allowed in particular applications. i.e. would like to add in the description that agency implies AI usage explicitly.

Like the suggestion to include AI usage explicitly. Done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

proposal SEP proposal without a sponsor. SEP

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

4 participants