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
+37-33Lines changed: 37 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,31 +26,33 @@ Servers declare which server-side requests can be augmented with tasks:
26
26
{
27
27
"capabilities": {
28
28
"tasks": {
29
-
"tools": {
30
-
"call": true,
31
-
"list": true
32
-
},
33
-
"resources": {
34
-
"read": true,
35
-
"list": true
36
-
},
37
-
"prompts": {
38
-
"get": true,
39
-
"list": true
40
-
},
41
-
"tasks": {
42
-
"get": true,
43
-
"list": true,
44
-
"result": true
29
+
"requests": {
30
+
"tools": {
31
+
"call": true,
32
+
"list": true
33
+
},
34
+
"resources": {
35
+
"read": true,
36
+
"list": true
37
+
},
38
+
"prompts": {
39
+
"get": true,
40
+
"list": true
41
+
},
42
+
"tasks": {
43
+
"get": true,
44
+
"list": true,
45
+
"result": true
46
+
}
45
47
}
46
48
}
47
49
}
48
50
}
49
51
```
50
52
51
-
Servers **MAY** support tasks for any subset of their available request types. If a request type is not listed in the `tasks` capability or is set to `false`, requestors **SHOULD NOT** augment those requests with task metadata.
53
+
Servers **MAY** support tasks for any subset of their available request types. If a request type is not listed in the `tasks.requests` capability or is set to `false`, requestors **SHOULD NOT** augment those requests with task metadata.
52
54
53
-
The `tasks.tasks` nested capability indicates whether the task management operations themselves (`tasks/get`, `tasks/list`, `tasks/result`) can be augmented with tasks, enabling recursive task tracking for task queries.
55
+
The `tasks.requests.tasks` nested capability indicates whether the task management operations themselves (`tasks/get`, `tasks/list`, `tasks/result`) can be augmented with tasks, enabling recursive task tracking for task queries.
54
56
55
57
### Client Capabilities
56
58
@@ -60,32 +62,34 @@ Clients declare which client-side requests can be augmented with tasks:
60
62
{
61
63
"capabilities": {
62
64
"tasks": {
63
-
"sampling": {
64
-
"createMessage": true
65
-
},
66
-
"elicitation": {
67
-
"create": true
68
-
},
69
-
"roots": {
70
-
"list": true
71
-
},
72
-
"tasks": {
73
-
"get": true,
74
-
"list": true,
75
-
"result": true
65
+
"requests": {
66
+
"sampling": {
67
+
"createMessage": true
68
+
},
69
+
"elicitation": {
70
+
"create": true
71
+
},
72
+
"roots": {
73
+
"list": true
74
+
},
75
+
"tasks": {
76
+
"get": true,
77
+
"list": true,
78
+
"result": true
79
+
}
76
80
}
77
81
}
78
82
}
79
83
}
80
84
```
81
85
82
-
The `tasks.tasks` capability applies when the client is acting as a receiver of task-augmented requests from the server (for example, when a server sends a task-augmented `sampling/createMessage` request to the client).
86
+
The `tasks.requests.tasks` capability applies when the client is acting as a receiver of task-augmented requests from the server (for example, when a server sends a task-augmented `sampling/createMessage` request to the client).
83
87
84
88
### Capability Negotiation
85
89
86
90
During the initialization phase, both parties exchange their `tasks` capabilities to establish which operations support task-based execution. Requestors **MUST** only augment requests with task metadata if the corresponding capability has been declared by the receiver.
87
91
88
-
For example, if a server's capabilities include `tasks.tools.call: true`, then clients may augment `tools/call` requests with task metadata. However, if the server does not declare `tasks.resources.read`, clients should not send task-augmented `resources/read` requests.
92
+
For example, if a server's capabilities include `tasks.requests.tools.call: true`, then clients may augment `tools/call` requests with task metadata. However, if the server does not declare `tasks.requests.resources.read`, clients should not send task-augmented `resources/read` requests.
0 commit comments