|
23 | 23 | - `toggle-simulated-logging` (tools/toggle-simulated-logging.ts): Starts or stops simulated, random‑leveled logging for the invoking session. Respects the client’s selected minimum logging level. |
24 | 24 | - `toggle-subscriber-updates` (tools/toggle-subscriber-updates.ts): Starts or stops simulated resource update notifications for URIs the invoking session has subscribed to. |
25 | 25 | - `trigger-sampling-request` (tools/trigger-sampling-request.ts): Issues a `sampling/createMessage` request to the client/LLM using provided `prompt` and optional generation controls; returns the LLM's response payload. |
26 | | -- `simulate-research-query` (tools/simulate-research-query.ts): Demonstrates MCP Tasks (SEP-1686) with a simulated multi-stage research operation. Accepts `topic` and `ambiguous` parameters. Returns a task that progresses through stages with status updates. If `ambiguous` is true and client supports elicitation, pauses with `input_required` status to gather clarification. |
| 26 | +- `simulate-research-query` (tools/simulate-research-query.ts): Demonstrates MCP Tasks (SEP-1686) with a simulated multi-stage research operation. Accepts `topic` and `ambiguous` parameters. Returns a task that progresses through stages with status updates. If `ambiguous` is true and client supports elicitation, sends an elicitation request directly to gather clarification before completing. |
27 | 27 | - `trigger-sampling-request-async` (tools/trigger-sampling-request-async.ts): Demonstrates bidirectional tasks where the server sends a sampling request that the client executes as a background task. Server polls for status and retrieves the LLM result when complete. Requires client to support `tasks.requests.sampling.createMessage`. |
28 | 28 | - `trigger-elicitation-request-async` (tools/trigger-elicitation-request-async.ts): Demonstrates bidirectional tasks where the server sends an elicitation request that the client executes as a background task. Server polls while waiting for user input. Requires client to support `tasks.requests.elicitation.create`. |
29 | 29 |
|
@@ -72,15 +72,15 @@ The server advertises support for MCP Tasks, enabling long-running operations wi |
72 | 72 | ### Task Statuses |
73 | 73 |
|
74 | 74 | - `working`: Task is actively processing |
75 | | -- `input_required`: Task needs additional input (demonstrated via elicitation side-channel) |
| 75 | +- `input_required`: Task needs additional input (server sends elicitation request directly) |
76 | 76 | - `completed`: Task finished successfully |
77 | 77 | - `failed`: Task encountered an error |
78 | 78 | - `cancelled`: Task was cancelled by client |
79 | 79 |
|
80 | 80 | ### Demo Tools |
81 | 81 |
|
82 | 82 | **Server-side tasks (client calls server):** |
83 | | -Use the `simulate-research-query` tool to exercise the full task lifecycle. Set `ambiguous: true` to trigger the `input_required` flow with elicitation. |
| 83 | +Use the `simulate-research-query` tool to exercise the full task lifecycle. Set `ambiguous: true` to trigger elicitation - the server will send an `elicitation/create` request directly and await the response before completing. |
84 | 84 |
|
85 | 85 | **Client-side tasks (server calls client):** |
86 | 86 | Use `trigger-sampling-request-async` or `trigger-elicitation-request-async` to demonstrate bidirectional tasks where the server sends requests that the client executes as background tasks. These require the client to advertise `tasks.requests.sampling.createMessage` or `tasks.requests.elicitation.create` capabilities respectively. |
|
0 commit comments