Skip to content

Commit 3c7e9e4

Browse files
committed
Remove notifications/tasks/created
Redundant with CreateTaskResult.
1 parent 4736c2e commit 3c7e9e4

File tree

5 files changed

+4
-117
lines changed

5 files changed

+4
-117
lines changed

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

Lines changed: 4 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -231,36 +231,6 @@ To retrieve the result of a completed task, requestors send a `tasks/result` req
231231
}
232232
```
233233

234-
### Task Creation Notification
235-
236-
When a receiver creates a task, it **MAY** send a `notifications/tasks/created` notification to inform the requestor that the task has been created and polling can begin. This notification includes the full task state.
237-
238-
**Notification:**
239-
240-
```json
241-
{
242-
"jsonrpc": "2.0",
243-
"method": "notifications/tasks/created",
244-
"params": {
245-
"taskId": "786512e2-9e0d-44bd-8f29-789f320fe840",
246-
"status": "working",
247-
"statusMessage": "The operation is now in progress.",
248-
"createdAt": "2025-11-25T10:30:00Z",
249-
"ttl": 60000,
250-
"pollInterval": 5000,
251-
"_meta": {
252-
"io.modelcontextprotocol/related-task": {
253-
"taskId": "786512e2-9e0d-44bd-8f29-789f320fe840"
254-
}
255-
}
256-
}
257-
}
258-
```
259-
260-
The notification includes the full `Task` object with all task metadata fields, allowing requestors to immediately access the task state without making an additional `tasks/get` request.
261-
262-
Requestors **MUST NOT** rely on receiving this notification. Requestors **SHOULD** be prepared to begin polling via `tasks/get` immediately after receiving the `CreateTaskResult` response, regardless of whether this notification is received.
263-
264234
### Task Status Notification
265235

266236
When a task's status changes, receivers **MAY** send a `notifications/tasks/status` notification to inform the requestor of the change. This notification includes the full task state.
@@ -276,19 +246,14 @@ When a task's status changes, receivers **MAY** send a `notifications/tasks/stat
276246
"status": "completed",
277247
"createdAt": "2025-11-25T10:30:00Z",
278248
"ttl": 60000,
279-
"pollInterval": 5000,
280-
"_meta": {
281-
"io.modelcontextprotocol/related-task": {
282-
"taskId": "786512e2-9e0d-44bd-8f29-789f320fe840"
283-
}
284-
}
249+
"pollInterval": 5000
285250
}
286251
}
287252
```
288253

289254
The notification includes the full `Task` object with all task metadata fields, including the updated `status`, `statusMessage` (if present), and `error` (if the status is `failed`). This allows requestors to access the complete task state without making an additional `tasks/get` request.
290255

291-
Requestors **MUST NOT** rely on receiving these notifications, as they are optional. Receivers are not required to send status notifications and may choose to only send them for certain status transitions. Requestors **SHOULD** continue to poll via `tasks/get` to ensure they receive status updates.
256+
Requestors **MUST NOT** rely on receiving this notifications, as it is optional. Receivers are not required to send status notifications and may choose to only send them for certain status transitions. Requestors **SHOULD** continue to poll via `tasks/get` to ensure they receive status updates.
292257

293258
### Listing Tasks
294259

@@ -455,10 +420,9 @@ While this note is not prescriptive regarding the specific usage of SSE streams,
455420

456421
### Task Notifications
457422

458-
1. Receivers **MAY** send a `notifications/tasks/created` notification after creating a task to inform the requestor that the task is ready for polling.
459423
1. Receivers **MAY** send `notifications/tasks/status` notifications when a task's status changes.
460-
1. Requestors **MUST NOT** rely on receiving either notification type, as they are both optional.
461-
1. When sent, these notifications **MUST** include the `io.modelcontextprotocol/related-task` metadata as described in "Associating Task-Related Messages".
424+
1. Requestors **MUST NOT** rely on receiving the `notifications/tasks/status` notification, as it is optional.
425+
1. When sent, the `notifications/tasks/status` notification **SHOULD NOT** include the `io.modelcontextprotocol/related-task` metadata, as the task ID is already present in the notification parameters.
462426

463427
### Task Progress Notifications
464428

@@ -490,7 +454,6 @@ sequenceDiagram
490454
Note over C,S: 1. Task Creation
491455
C->>S: Request with task metadata (ttl)
492456
S->>C: CreateTaskResult (taskId, status: working, ttl, pollInterval)
493-
S--)C: notifications/tasks/created (full Task)
494457
Note over C,S: 2. Task Polling
495458
C->>S: tasks/get (taskId)
496459
S->>C: working
@@ -522,7 +485,6 @@ sequenceDiagram
522485
Note over C,S: Client augments with task metadata
523486
C->>S: tools/call (ttl: 3600000)
524487
S->>C: CreateTaskResult (task-123, status: working)
525-
S--)C: notifications/tasks/created (task-123, full Task)
526488
527489
Note over LLM,C: Client continues processing other requests<br/>while task executes in background
528490
LLM->>C: Request other operation
@@ -579,7 +541,6 @@ sequenceDiagram
579541
Note over S,C: Server requests client operation (task-augmented)
580542
S->>C: sampling/createMessage (ttl: 3600000)
581543
C->>S: CreateTaskResult (request-789, status: working)
582-
C--)S: notifications/tasks/created (request-789, full Task)
583544
584545
Note over S: Server continues processing<br/>while waiting for result
585546
@@ -622,7 +583,6 @@ sequenceDiagram
622583
Note over C,S: 1. Task Creation
623584
C->>S: tools/call (request ID: 42, ttl: 60000)
624585
S->>C: CreateTaskResult (task-123, status: working)
625-
S--)C: notifications/tasks/created (task-123, full Task)
626586
627587
Note over C,S: 2. Task Processing
628588
C->>S: tasks/get (task-123)

docs/specification/draft/schema.mdx

Lines changed: 0 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

schema/draft/schema.json

Lines changed: 0 additions & 39 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

schema/draft/schema.mdx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,6 @@ title: Schema Reference
4040

4141
{/* @category `notifications/initialized` */}
4242

43-
## `notifications/tasks/created`
44-
45-
{/* @category `notifications/tasks/created` */}
46-
4743
## `notifications/tasks/status`
4844

4945
{/* @category `notifications/tasks/status` */}

schema/draft/schema.ts

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1399,23 +1399,6 @@ export interface ListTasksResult extends PaginatedResult {
13991399
tasks: Task[];
14001400
}
14011401

1402-
/**
1403-
* Parameters for a `notifications/tasks/created` notification.
1404-
*
1405-
* @category `notifications/tasks/created`
1406-
*/
1407-
export type TaskCreatedNotificationParams = NotificationParams & Task;
1408-
1409-
/**
1410-
* A notification from the receiver to the requestor, informing them that a task has been created and is ready for polling.
1411-
*
1412-
* @category `notifications/tasks/created`
1413-
*/
1414-
export interface TaskCreatedNotification extends JSONRPCNotification {
1415-
method: "notifications/tasks/created";
1416-
params: TaskCreatedNotificationParams;
1417-
}
1418-
14191402
/**
14201403
* Parameters for a `notifications/tasks/status` notification.
14211404
*
@@ -2268,7 +2251,6 @@ export type ClientNotification =
22682251
| ProgressNotification
22692252
| InitializedNotification
22702253
| RootsListChangedNotification
2271-
| TaskCreatedNotification
22722254
| TaskStatusNotification;
22732255

22742256
/** @internal */
@@ -2303,7 +2285,6 @@ export type ServerNotification =
23032285
| ResourceListChangedNotification
23042286
| ToolListChangedNotification
23052287
| PromptListChangedNotification
2306-
| TaskCreatedNotification
23072288
| TaskStatusNotification;
23082289

23092290
/** @internal */

0 commit comments

Comments
 (0)