You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/specification/draft/basic/utilities/tasks.mdx
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -799,13 +799,13 @@ The `tasks/result` endpoint returns exactly what the underlying request would ha
799
799
800
800
Task IDs are the primary mechanism for accessing task state and results. Without proper access controls, any party that can guess or obtain a task ID could potentially access sensitive information or manipulate tasks they did not create.
801
801
802
-
When session and authorization context is provided, receivers **MUST** bind tasks to said context.
802
+
When an authorization context is provided, receivers **MUST** bind tasks to said context.
803
803
804
-
Context-binding is not practical for all applications. Some MCP servers operate in environments without session management, such as single-user tools, or use transports that don't support sessions or authorization.
804
+
Context-binding is not practical for all applications. Some MCP servers operate in environments without authorization, such as single-user tools, or use transports that don't support authorization.
805
805
In these scenarios, receivers **SHOULD** document this limitation clearly, as task results may be accessible to any requestor that can guess the task ID.
806
806
If context-binding is unavailable, receivers **MUST** generate cryptographically secure task IDs with enough entropy to prevent guessing and should consider using shorter TTL durations to reduce the exposure window.
807
807
808
-
If context-binding is available, receivers **MUST** reject `tasks/get`, `tasks/result`, and `tasks/cancel` requests for tasks that do not belong to the same session or authorization context as the requestor. For `tasks/list` requests, receivers **MUST** ensure the returned task list includes only tasks associated with the requestor's session and authorization context.
808
+
If context-binding is available, receivers **MUST** reject `tasks/get`, `tasks/result`, and `tasks/cancel` requests for tasks that do not belong to the same authorization context as the requestor. For `tasks/list` requests, receivers **MUST** ensure the returned task list includes only tasks associated with the requestor's authorization context.
809
809
810
810
Additionally, receivers **SHOULD** implement rate limiting on task operations to prevent denial-of-service and enumeration attacks.
811
811
@@ -823,7 +823,7 @@ Additionally, receivers **SHOULD** implement rate limiting on task operations to
823
823
824
824
1. Receivers **SHOULD**:
825
825
1. Log task creation, completion, and retrieval events for audit purposes
826
-
1. Include session/auth context in logs when available
826
+
1. Include auth context in logs when available
827
827
1. Monitor for suspicious patterns (e.g., many failed task lookups, excessive polling)
828
828
1. Requestors **SHOULD**:
829
829
1. Log task lifecycle events for debugging and audit purposes
0 commit comments