Skip to content

Commit 9e5d23b

Browse files
committed
Clarify taskHint behavior
1 parent aa79e44 commit 9e5d23b

File tree

1 file changed

+6
-1
lines changed
  • docs/specification/draft/basic/utilities

1 file changed

+6
-1
lines changed

docs/specification/draft/basic/utilities/tasks.mdx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,12 @@ The set of capabilities in `capabilities.tasks.requests` is exhaustive. If a req
8686

8787
Tool calls are given special consideration for the purpose of task augmentation. In the result of `tools/list`, tools declare support for tasks via `annotations.taskHint`.
8888

89-
This is to be interpreted as a fine-grained layer in addition to capabilities. If a server's capabilities include `tasks.requests.tools.call: false`, then clients **MUST NOT** attempt to use task augmentation on that server's tools, even if they declare tool-level support via `annotations.taskHint`.
89+
This is to be interpreted as a fine-grained layer in addition to capabilities, following these rules:
90+
91+
1. If a server's capabilities include `tasks.requests.tools.call: false`, then clients **MUST NOT** attempt to use task augmentation on that server's tools, even if they declare tool-level support via `annotations.taskHint`.
92+
1. If a server's capabilities include `tasks.requests.tools.call: true`, then clients consider the value of `taskHint`, and handle it accordingly:
93+
1. If `taskHint` is not present or `false`, clients **MUST NOT** attempt to invoke the tool as a task. Servers **SHOULD** return a `-32601` (Method not found) error if a client attempts to do so.
94+
1. If `taskHint` is `true`, clients **SHOULD** attempt to invoke the tool as a task. Servers **MAY** return a `-32601` (Method not found) error if a client does not attempt to do so.
9095

9196
## Protocol Messages
9297

0 commit comments

Comments
 (0)