Skip to content

Commit ecf0472

Browse files
chore: update spec.types.2026-07-28.ts from upstream
1 parent e81758c commit ecf0472

1 file changed

Lines changed: 47 additions & 14 deletions

File tree

packages/core-internal/src/types/spec.types.2026-07-28.ts

Lines changed: 47 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*
44
* Source: https://github.com/modelcontextprotocol/modelcontextprotocol
55
* Pulled from: https://raw.githubusercontent.com/modelcontextprotocol/modelcontextprotocol/main/schema/draft/schema.ts
6-
* Last updated from commit: f68d864a813754e188c6df52dcc5772a12f96c63
6+
* Last updated from commit: 71e306956a4959c9655e5036be215d41986596e6
77
*
88
* DO NOT EDIT THIS FILE MANUALLY. Changes will be overwritten by automated updates.
99
* To update this file, run: pnpm run fetch:spec-types 2026-07-28
@@ -82,12 +82,19 @@ export interface RequestMetaObject extends MetaObject {
8282
*/
8383
'io.modelcontextprotocol/protocolVersion': string;
8484
/**
85-
* Identifies the client software making the request. Required.
85+
* Identifies the client software making the request. Clients SHOULD
86+
* include this field on every request unless specifically configured not
87+
* to do so.
8688
*
8789
* The {@link Implementation} schema requires `name` and `version`; other
8890
* fields are optional.
91+
*
92+
* The value is self-reported by the client and is not verified by the
93+
* protocol. It is intended for display, logging, and debugging. Servers
94+
* SHOULD NOT use it to change their behavior, and SHOULD NOT rely on it for
95+
* security decisions.
8996
*/
90-
'io.modelcontextprotocol/clientInfo': Implementation;
97+
'io.modelcontextprotocol/clientInfo'?: Implementation;
9198
/**
9299
* The client's capabilities for this specific request. Required.
93100
*
@@ -133,6 +140,30 @@ export interface NotificationMetaObject extends MetaObject {
133140
'io.modelcontextprotocol/subscriptionId'?: RequestId;
134141
}
135142

143+
/**
144+
* Extends {@link MetaObject} with additional result-specific fields. All key naming rules from `MetaObject` apply.
145+
*
146+
* @see {@link MetaObject} for key naming rules and reserved prefixes.
147+
* @see [General fields: `_meta`](/specification/draft/basic/index#meta) for more details.
148+
* @category Common Types
149+
*/
150+
export interface ResultMetaObject extends MetaObject {
151+
/**
152+
* Identifies the server software producing the response. Servers SHOULD
153+
* include this field on every response unless specifically configured not
154+
* to do so.
155+
*
156+
* The {@link Implementation} schema requires `name` and `version`; other
157+
* fields are optional.
158+
*
159+
* The value is self-reported by the server and is not verified by the
160+
* protocol. It is intended for display, logging, and debugging. Clients
161+
* SHOULD NOT use it to change their behavior, and SHOULD NOT rely on it for
162+
* security decisions.
163+
*/
164+
'io.modelcontextprotocol/serverInfo'?: Implementation;
165+
}
166+
136167
/**
137168
* A progress token, used to associate progress notifications with the original request.
138169
*
@@ -197,7 +228,7 @@ export type ResultType = 'complete' | 'input_required' | string;
197228
* @category Common Types
198229
*/
199230
export interface Result {
200-
_meta?: MetaObject;
231+
_meta?: ResultMetaObject;
201232
/**
202233
* Indicates the type of the result, which allows the client to determine
203234
* how to parse the result object.
@@ -650,10 +681,6 @@ export interface DiscoverResult extends CacheableResult {
650681
* The capabilities of the server.
651682
*/
652683
capabilities: ServerCapabilities;
653-
/**
654-
* Information about the server software implementation.
655-
*/
656-
serverInfo: Implementation;
657684
/**
658685
* Natural-language guidance describing the server and its features.
659686
*
@@ -1284,13 +1311,13 @@ export interface SubscriptionsListenRequest extends JSONRPCRequest {
12841311
}
12851312

12861313
/**
1287-
* Extends {@link MetaObject} with the subscription-stream identifier carried by a
1314+
* Extends {@link ResultMetaObject} with the subscription-stream identifier carried by a
12881315
* {@link SubscriptionsListenResult}. All key naming rules from `MetaObject` apply.
12891316
*
12901317
* @see {@link MetaObject} for key naming rules and reserved prefixes.
12911318
* @category `subscriptions/listen`
12921319
*/
1293-
export interface SubscriptionsListenResultMeta extends MetaObject {
1320+
export interface SubscriptionsListenResultMeta extends ResultMetaObject {
12941321
/**
12951322
* Identifies the subscription stream this response closes, so the client can
12961323
* correlate it with the originating subscription — mirroring the same key on
@@ -1333,10 +1360,16 @@ export interface SubscriptionsAcknowledgedNotificationParams extends Notificatio
13331360
}
13341361

13351362
/**
1336-
* Sent by the server as the first message on a
1337-
* {@link SubscriptionsListenRequest | subscriptions/listen} stream to acknowledge
1338-
* that the subscription has been established and to report which notification
1339-
* types it agreed to honor.
1363+
* Sent by the server to acknowledge that a
1364+
* {@link SubscriptionsListenRequest | subscriptions/listen} subscription has been
1365+
* established and to report which notification types it agreed to honor.
1366+
*
1367+
* This notification MUST be the first message the server sends carrying the
1368+
* subscription's ID in `io.modelcontextprotocol/subscriptionId`. The server MUST
1369+
* NOT send any notification on the subscription before acknowledging it. On
1370+
* stdio, where every subscription shares one channel, this ordering is defined
1371+
* per subscription ID and not per channel: messages belonging to other
1372+
* subscriptions MAY be interleaved before it.
13401373
*
13411374
* @example Listen acknowledged
13421375
* {@includeCode ./examples/SubscriptionsAcknowledgedNotification/listen-acknowledged.json}

0 commit comments

Comments
 (0)