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/basic/utilities/progress.md
+19-31Lines changed: 19 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,11 +10,10 @@ The Model Context Protocol (MCP) supports optional progress tracking for long-ru
10
10
11
11
## Progress Flow
12
12
13
-
When a party wants to receive progress updates for a request, it includes a `progressToken` in the request metadata. Progress tokens can be any string or number value chosen by the sender, but MUST be unique across all active requests. The receiver can then send progress notifications containing:
13
+
When a party wants to _receive_ progress updates for a request, it includes a `progressToken` in the request metadata.
14
14
15
-
- The original progress token
16
-
- Current progress value
17
-
- Optional total value
15
+
* Progress tokens **MUST** be a string or integer value
16
+
* Progress tokens can be chosen by the sender using any means, but **MUST** be unique across all active requests.
18
17
19
18
```json
20
19
{
@@ -29,7 +28,11 @@ When a party wants to receive progress updates for a request, it includes a `pro
29
28
}
30
29
```
31
30
32
-
The receiver MAY then send progress notifications:
31
+
The receiver **MAY** then send progress notifications containing:
32
+
33
+
- The original progress token
34
+
- The current progress value so far
35
+
- An optional "total" value
33
36
34
37
```json
35
38
{
@@ -43,24 +46,20 @@ The receiver MAY then send progress notifications:
43
46
}
44
47
```
45
48
46
-
## Behavior Requirements
49
+
* The `progress` value **MUST** increase with each notification, even if the total is unknown.
50
+
* The `progress` and the `total` values **MAY** be floating point.
47
51
48
-
Both clients and servers MUST follow these requirements when handling progress:
52
+
## Behavior Requirements
49
53
50
-
1. Progress notifications MUST only reference tokens that:
54
+
1. Progress notifications **MUST** only reference tokens that:
51
55
- Were provided in an active request
52
56
- Are associated with an in-progress operation
53
57
54
-
2. Receivers of progress requests MAY:
58
+
2. Receivers of progress requests **MAY**:
55
59
- Choose not to send any progress notifications
56
60
- Send notifications at whatever frequency they deem appropriate
0 commit comments