Skip to content

Commit 20dfb9a

Browse files
authored
docs(schema): resume mcpServers is the complete Client-provided set (#2614)
* docs(schema): resume mcpServers is the complete Client-provided set * docs(schema): make not restoring earlier MCP servers a SHOULD NOT
1 parent ad3ce89 commit 20dfb9a

7 files changed

Lines changed: 17 additions & 2 deletions

File tree

‎agent-client-protocol-schema/src/v2/agent.rs‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1256,6 +1256,9 @@ pub struct ResumeSessionRequest {
12561256
#[serde(default, skip_serializing_if = "Vec::is_empty")]
12571257
pub additional_directories: Vec<AbsolutePath>,
12581258
/// List of MCP servers to connect to for this session.
1259+
///
1260+
/// The complete set of Client-provided servers; omitted and `[]` mean none. Agents SHOULD
1261+
/// NOT restore servers from earlier requests.
12591262
#[serde_as(deserialize_as = "DefaultOnNull")]
12601263
#[cfg_attr(feature = "schemars", schemars(extend("x-deserialize-default-on-null" = true)))]
12611264
#[serde(default, skip_serializing_if = "Vec::is_empty")]

‎docs/protocol/v2/draft/schema.mdx‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1024,6 +1024,10 @@ in a different directory reject it with `-32602`, and MAY normalize paths when c
10241024
</ResponseField>
10251025
<ResponseField name="mcpServers" type={<a href="#mcpserver">McpServer[]</a>} >
10261026
List of MCP servers to connect to for this session.
1027+
1028+
The complete set of Client-provided servers; omitted and `[]` mean none. Agents SHOULD
1029+
NOT restore servers from earlier requests.
1030+
10271031
</ResponseField>
10281032
<ResponseField name="replayFrom" type={<><span><a href="#replayfrom">ReplayFrom</a></span><span> | null</span></>} >
10291033
Inclusive cursor describing where conversation replay should begin.

‎docs/protocol/v2/draft/session-setup.mdx‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -544,6 +544,8 @@ MCP servers can be connected to using different transports. Agents advertise sup
544544

545545
Each server `name` **MUST** be unique within `mcpServers`. Agents reject duplicates with `-32602`.
546546

547+
On `session/resume`, `mcpServers` is the complete set of Client-provided servers for the session; omitted and `[]` mean none. Agents **SHOULD NOT** restore servers from earlier `session/new` or `session/resume` requests. MCP servers the Agent is configured with independently of ACP are unaffected.
548+
547549
### Transport Types
548550

549551
Every MCP server object has a `type` discriminator that identifies its transport. Custom implementation-specific transport types **MUST** begin with `_`; unknown non-underscore transport types are reserved for future ACP variants.

‎docs/protocol/v2/schema.mdx‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,10 @@ in a different directory reject it with `-32602`, and MAY normalize paths when c
682682
</ResponseField>
683683
<ResponseField name="mcpServers" type={<a href="#mcpserver">McpServer[]</a>} >
684684
List of MCP servers to connect to for this session.
685+
686+
The complete set of Client-provided servers; omitted and `[]` mean none. Agents SHOULD
687+
NOT restore servers from earlier requests.
688+
685689
</ResponseField>
686690
<ResponseField name="replayFrom" type={<><span><a href="#replayfrom">ReplayFrom</a></span><span> | null</span></>} >
687691
Inclusive cursor describing where conversation replay should begin.

‎docs/protocol/v2/session-setup.mdx‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,8 @@ MCP servers can be connected to using different transports. Agents advertise sup
475475

476476
Each server `name` **MUST** be unique within `mcpServers`. Agents reject duplicates with `-32602`.
477477

478+
On `session/resume`, `mcpServers` is the complete set of Client-provided servers for the session; omitted and `[]` mean none. Agents **SHOULD NOT** restore servers from earlier `session/new` or `session/resume` requests. MCP servers the Agent is configured with independently of ACP are unaffected.
479+
478480
### Transport Types
479481

480482
Every MCP server object has a `type` discriminator that identifies its transport. Custom implementation-specific transport types **MUST** begin with `_`; unknown non-underscore transport types are reserved for future ACP variants.

‎schema/v2/schema.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6875,7 +6875,7 @@
68756875
"x-deserialize-default-on-null": true
68766876
},
68776877
"mcpServers": {
6878-
"description": "List of MCP servers to connect to for this session.",
6878+
"description": "List of MCP servers to connect to for this session.\n\nThe complete set of Client-provided servers; omitted and `[]` mean none. Agents SHOULD\nNOT restore servers from earlier requests.",
68796879
"type": "array",
68806880
"items": {
68816881
"$ref": "#/$defs/McpServer"

‎schema/v2/schema.unstable.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8181,7 +8181,7 @@
81818181
"x-deserialize-default-on-null": true
81828182
},
81838183
"mcpServers": {
8184-
"description": "List of MCP servers to connect to for this session.",
8184+
"description": "List of MCP servers to connect to for this session.\n\nThe complete set of Client-provided servers; omitted and `[]` mean none. Agents SHOULD\nNOT restore servers from earlier requests.",
81858185
"type": "array",
81868186
"items": {
81878187
"$ref": "#/$defs/McpServer"

0 commit comments

Comments
 (0)