Skip to content

fix: clarify that servers should not advertise tasks.list without context-binding#2123

Open
LucaButBoring wants to merge 2 commits intomodelcontextprotocol:mainfrom
LucaButBoring:fix/list-tasks-auth
Open

fix: clarify that servers should not advertise tasks.list without context-binding#2123
LucaButBoring wants to merge 2 commits intomodelcontextprotocol:mainfrom
LucaButBoring:fix/list-tasks-auth

Conversation

@LucaButBoring
Copy link
Contributor

Updates the 2025-11-25 and draft spec versions to clarify that servers SHOULD NOT advertise support for tasks/list if they do not have any form of context-binding.

Motivation and Context

This change explicitly states an implicit conclusion of the Tasks specification.

Specifically, the current specification strongly suggests binding Tasks to the authorization context that created them, and states that the recipient of a tasks/list request "MUST ensure the returned task list includes only tasks associated with the requestor's authorization context." It also states that if "context-binding is unavailable, receivers MUST generate cryptographically secure task IDs with enough entropy to prevent guessing". However, if the requestor identity can not be verified, tasks/list undermines any protections that a cryptographically-secure task ID would provide against guessing attacks, as the list cannot effectively be filtered. It follows that the only way to follow both stipulations is to reject tasks/list requests entirely if requestors cannot be identified.

This does not have any implications for existing implementations of the specification, so I'm raising this without an SEP associated with it. If this becomes a point of disagreement, I can remove the 2025-11-25 spec change and open a formal SEP for the June specification instead.

How Has This Been Tested?

N/A

Breaking Changes

None

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
  • 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

Fixes #2054.

@LucaButBoring LucaButBoring requested a review from a team as a code owner January 20, 2026 23:08
@localden localden added the documentation Improvements or additions to documentation label Jan 27, 2026
@localden
Copy link
Contributor

Raw SEP suggestion, for reference:

Furthermore, receivers that cannot identify requestors **SHOULD NOT** declare the `tasks.list` capability, as listing tasks would expose task metadata to any requestor regardless of task ID entropy.

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

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Clarify tasks/list behavior for public MCP servers without authentication

2 participants