|
123 | 123 | "description": "A result that supports a time-to-live (TTL) hint for client-side caching.", |
124 | 124 | "properties": { |
125 | 125 | "_meta": { |
126 | | - "$ref": "#/$defs/MetaObject" |
| 126 | + "$ref": "#/$defs/ResultMetaObject" |
127 | 127 | }, |
128 | 128 | "cacheScope": { |
129 | 129 | "description": "Indicates the intended scope of the cached response, analogous to HTTP\n`Cache-Control: public` vs `Cache-Control: private`.\n\n- `\"public\"`: The response does not contain user-specific data. Any\n client or intermediary (e.g., shared gateway, caching proxy) MAY cache\n the response and serve it across authorization contexts.\n- `\"private\"`: The response MAY be cached and reused only within the\n same authorization context. Caches MUST NOT be shared across\n authorization contexts (e.g., a different access token requires a\n different cache).", |
|
208 | 208 | "description": "The result returned by the server for a {@link CallToolRequesttools/call} request.", |
209 | 209 | "properties": { |
210 | 210 | "_meta": { |
211 | | - "$ref": "#/$defs/MetaObject" |
| 211 | + "$ref": "#/$defs/ResultMetaObject" |
212 | 212 | }, |
213 | 213 | "content": { |
214 | 214 | "description": "A list of content objects that represent the unstructured result of the tool call.", |
|
501 | 501 | "description": "The result returned by the server for a {@link CompleteRequestcompletion/complete} request.", |
502 | 502 | "properties": { |
503 | 503 | "_meta": { |
504 | | - "$ref": "#/$defs/MetaObject" |
| 504 | + "$ref": "#/$defs/ResultMetaObject" |
505 | 505 | }, |
506 | 506 | "completion": { |
507 | 507 | "properties": { |
|
740 | 740 | "description": "The result returned by the server for a {@link DiscoverRequestserver/discover} request.", |
741 | 741 | "properties": { |
742 | 742 | "_meta": { |
743 | | - "$ref": "#/$defs/MetaObject" |
| 743 | + "$ref": "#/$defs/ResultMetaObject" |
744 | 744 | }, |
745 | 745 | "cacheScope": { |
746 | 746 | "description": "Indicates the intended scope of the cached response, analogous to HTTP\n`Cache-Control: public` vs `Cache-Control: private`.\n\n- `\"public\"`: The response does not contain user-specific data. Any\n client or intermediary (e.g., shared gateway, caching proxy) MAY cache\n the response and serve it across authorization contexts.\n- `\"private\"`: The response MAY be cached and reused only within the\n same authorization context. Caches MUST NOT be shared across\n authorization contexts (e.g., a different access token requires a\n different cache).", |
|
762 | 762 | "description": "Indicates the type of the result, which allows the client to determine\nhow to parse the result object.\n\nServers implementing this protocol version MUST include this field.\nFor backward compatibility, when a client receives a result from a\nserver implementing an earlier protocol version (which does not include\n`resultType`), the client MUST treat the absent field as `\"complete\"`.", |
763 | 763 | "type": "string" |
764 | 764 | }, |
765 | | - "serverInfo": { |
766 | | - "$ref": "#/$defs/Implementation", |
767 | | - "description": "Information about the server software implementation." |
768 | | - }, |
769 | 765 | "supportedVersions": { |
770 | 766 | "description": "MCP Protocol Versions this server supports. The client should choose a\nversion from this list for use in subsequent requests.", |
771 | 767 | "items": { |
|
783 | 779 | "cacheScope", |
784 | 780 | "capabilities", |
785 | 781 | "resultType", |
786 | | - "serverInfo", |
787 | 782 | "supportedVersions", |
788 | 783 | "ttlMs" |
789 | 784 | ], |
|
1084 | 1079 | "description": "The result returned by the server for a {@link GetPromptRequestprompts/get} request.", |
1085 | 1080 | "properties": { |
1086 | 1081 | "_meta": { |
1087 | | - "$ref": "#/$defs/MetaObject" |
| 1082 | + "$ref": "#/$defs/ResultMetaObject" |
1088 | 1083 | }, |
1089 | 1084 | "description": { |
1090 | 1085 | "description": "An optional description for the prompt.", |
|
1310 | 1305 | "description": "An InputRequiredResult sent by the server to indicate that additional input is needed\nbefore the request can be completed.\n\nAt least one of `inputRequests` or `requestState` MUST be present.", |
1311 | 1306 | "properties": { |
1312 | 1307 | "_meta": { |
1313 | | - "$ref": "#/$defs/MetaObject" |
| 1308 | + "$ref": "#/$defs/ResultMetaObject" |
1314 | 1309 | }, |
1315 | 1310 | "inputRequests": { |
1316 | 1311 | "$ref": "#/$defs/InputRequests" |
|
1644 | 1639 | "description": "The result returned by the server for a {@link ListPromptsRequestprompts/list} request.", |
1645 | 1640 | "properties": { |
1646 | 1641 | "_meta": { |
1647 | | - "$ref": "#/$defs/MetaObject" |
| 1642 | + "$ref": "#/$defs/ResultMetaObject" |
1648 | 1643 | }, |
1649 | 1644 | "cacheScope": { |
1650 | 1645 | "description": "Indicates the intended scope of the cached response, analogous to HTTP\n`Cache-Control: public` vs `Cache-Control: private`.\n\n- `\"public\"`: The response does not contain user-specific data. Any\n client or intermediary (e.g., shared gateway, caching proxy) MAY cache\n the response and serve it across authorization contexts.\n- `\"private\"`: The response MAY be cached and reused only within the\n same authorization context. Caches MUST NOT be shared across\n authorization contexts (e.g., a different access token requires a\n different cache).", |
|
1733 | 1728 | "description": "The result returned by the server for a {@link ListResourceTemplatesRequestresources/templates/list} request.", |
1734 | 1729 | "properties": { |
1735 | 1730 | "_meta": { |
1736 | | - "$ref": "#/$defs/MetaObject" |
| 1731 | + "$ref": "#/$defs/ResultMetaObject" |
1737 | 1732 | }, |
1738 | 1733 | "cacheScope": { |
1739 | 1734 | "description": "Indicates the intended scope of the cached response, analogous to HTTP\n`Cache-Control: public` vs `Cache-Control: private`.\n\n- `\"public\"`: The response does not contain user-specific data. Any\n client or intermediary (e.g., shared gateway, caching proxy) MAY cache\n the response and serve it across authorization contexts.\n- `\"private\"`: The response MAY be cached and reused only within the\n same authorization context. Caches MUST NOT be shared across\n authorization contexts (e.g., a different access token requires a\n different cache).", |
|
1822 | 1817 | "description": "The result returned by the server for a {@link ListResourcesRequestresources/list} request.", |
1823 | 1818 | "properties": { |
1824 | 1819 | "_meta": { |
1825 | | - "$ref": "#/$defs/MetaObject" |
| 1820 | + "$ref": "#/$defs/ResultMetaObject" |
1826 | 1821 | }, |
1827 | 1822 | "cacheScope": { |
1828 | 1823 | "description": "Indicates the intended scope of the cached response, analogous to HTTP\n`Cache-Control: public` vs `Cache-Control: private`.\n\n- `\"public\"`: The response does not contain user-specific data. Any\n client or intermediary (e.g., shared gateway, caching proxy) MAY cache\n the response and serve it across authorization contexts.\n- `\"private\"`: The response MAY be cached and reused only within the\n same authorization context. Caches MUST NOT be shared across\n authorization contexts (e.g., a different access token requires a\n different cache).", |
|
1947 | 1942 | "description": "The result returned by the server for a {@link ListToolsRequesttools/list} request.", |
1948 | 1943 | "properties": { |
1949 | 1944 | "_meta": { |
1950 | | - "$ref": "#/$defs/MetaObject" |
| 1945 | + "$ref": "#/$defs/ResultMetaObject" |
1951 | 1946 | }, |
1952 | 1947 | "cacheScope": { |
1953 | 1948 | "description": "Indicates the intended scope of the cached response, analogous to HTTP\n`Cache-Control: public` vs `Cache-Control: private`.\n\n- `\"public\"`: The response does not contain user-specific data. Any\n client or intermediary (e.g., shared gateway, caching proxy) MAY cache\n the response and serve it across authorization contexts.\n- `\"private\"`: The response MAY be cached and reused only within the\n same authorization context. Caches MUST NOT be shared across\n authorization contexts (e.g., a different access token requires a\n different cache).", |
|
2299 | 2294 | "PaginatedResult": { |
2300 | 2295 | "properties": { |
2301 | 2296 | "_meta": { |
2302 | | - "$ref": "#/$defs/MetaObject" |
| 2297 | + "$ref": "#/$defs/ResultMetaObject" |
2303 | 2298 | }, |
2304 | 2299 | "nextCursor": { |
2305 | 2300 | "description": "An opaque token representing the pagination position after the last returned result.\nIf present, there may be more results available.", |
|
2600 | 2595 | "description": "The result returned by the server for a {@link ReadResourceRequestresources/read} request.", |
2601 | 2596 | "properties": { |
2602 | 2597 | "_meta": { |
2603 | | - "$ref": "#/$defs/MetaObject" |
| 2598 | + "$ref": "#/$defs/ResultMetaObject" |
2604 | 2599 | }, |
2605 | 2600 | "cacheScope": { |
2606 | 2601 | "description": "Indicates the intended scope of the cached response, analogous to HTTP\n`Cache-Control: public` vs `Cache-Control: private`.\n\n- `\"public\"`: The response does not contain user-specific data. Any\n client or intermediary (e.g., shared gateway, caching proxy) MAY cache\n the response and serve it across authorization contexts.\n- `\"private\"`: The response MAY be cached and reused only within the\n same authorization context. Caches MUST NOT be shared across\n authorization contexts (e.g., a different access token requires a\n different cache).", |
|
2700 | 2695 | }, |
2701 | 2696 | "io.modelcontextprotocol/clientInfo": { |
2702 | 2697 | "$ref": "#/$defs/Implementation", |
2703 | | - "description": "Identifies the client software making the request. Required.\n\nThe {@link Implementation} schema requires `name` and `version`; other\nfields are optional." |
| 2698 | + "description": "Identifies the client software making the request. Clients SHOULD\ninclude this field on every request unless specifically configured not\nto do so.\n\nThe {@link Implementation} schema requires `name` and `version`; other\nfields are optional.\n\nThe value is self-reported by the client and is not verified by the\nprotocol. It is intended for display, logging, and debugging. Servers\nSHOULD NOT use it to change their behavior, and SHOULD NOT rely on it for\nsecurity decisions." |
2704 | 2699 | }, |
2705 | 2700 | "io.modelcontextprotocol/logLevel": { |
2706 | 2701 | "$ref": "#/$defs/LoggingLevel", |
|
2717 | 2712 | }, |
2718 | 2713 | "required": [ |
2719 | 2714 | "io.modelcontextprotocol/clientCapabilities", |
2720 | | - "io.modelcontextprotocol/clientInfo", |
2721 | 2715 | "io.modelcontextprotocol/protocolVersion" |
2722 | 2716 | ], |
2723 | 2717 | "type": "object" |
|
3005 | 2999 | "description": "Common result fields.", |
3006 | 3000 | "properties": { |
3007 | 3001 | "_meta": { |
3008 | | - "$ref": "#/$defs/MetaObject" |
| 3002 | + "$ref": "#/$defs/ResultMetaObject" |
3009 | 3003 | }, |
3010 | 3004 | "resultType": { |
3011 | 3005 | "description": "Indicates the type of the result, which allows the client to determine\nhow to parse the result object.\n\nServers implementing this protocol version MUST include this field.\nFor backward compatibility, when a client receives a result from a\nserver implementing an earlier protocol version (which does not include\n`resultType`), the client MUST treat the absent field as `\"complete\"`.", |
|
3017 | 3011 | ], |
3018 | 3012 | "type": "object" |
3019 | 3013 | }, |
| 3014 | + "ResultMetaObject": { |
| 3015 | + "description": "Extends {@link MetaObject} with additional result-specific fields. All key naming rules from `MetaObject` apply.", |
| 3016 | + "properties": { |
| 3017 | + "io.modelcontextprotocol/serverInfo": { |
| 3018 | + "$ref": "#/$defs/Implementation", |
| 3019 | + "description": "Identifies the server software producing the response. Servers SHOULD\ninclude this field on every response unless specifically configured not\nto do so.\n\nThe {@link Implementation} schema requires `name` and `version`; other\nfields are optional.\n\nThe value is self-reported by the server and is not verified by the\nprotocol. It is intended for display, logging, and debugging. Clients\nSHOULD NOT use it to change their behavior, and SHOULD NOT rely on it for\nsecurity decisions." |
| 3020 | + } |
| 3021 | + }, |
| 3022 | + "type": "object" |
| 3023 | + }, |
3020 | 3024 | "ResultType": { |
3021 | 3025 | "description": "Indicates the type of a {@link Result} object, allowing the client to\ndetermine how to parse the response.\n\ncomplete - the request completed successfully and the result contains the final content.\ninput_required - the request requires additional input and the result contains an {@link InputRequiredResult} object with instructions for the client to provide additional input before retrying the original request.", |
3022 | 3026 | "type": "string" |
|
3312 | 3316 | "type": "object" |
3313 | 3317 | }, |
3314 | 3318 | "SubscriptionsAcknowledgedNotification": { |
3315 | | - "description": "Sent by the server as the first message on a\n{@link SubscriptionsListenRequestsubscriptions/listen} stream to acknowledge\nthat the subscription has been established and to report which notification\ntypes it agreed to honor.", |
| 3319 | + "description": "Sent by the server to acknowledge that a\n{@link SubscriptionsListenRequestsubscriptions/listen} subscription has been\nestablished and to report which notification types it agreed to honor.\n\nThis notification MUST be the first message the server sends carrying the\nsubscription's ID in `io.modelcontextprotocol/subscriptionId`. The server MUST\nNOT send any notification on the subscription before acknowledging it. On\nstdio, where every subscription shares one channel, this ordering is defined\nper subscription ID and not per channel: messages belonging to other\nsubscriptions MAY be interleaved before it.", |
3316 | 3320 | "properties": { |
3317 | 3321 | "jsonrpc": { |
3318 | 3322 | "const": "2.0", |
|
3410 | 3414 | "type": "object" |
3411 | 3415 | }, |
3412 | 3416 | "SubscriptionsListenResultMeta": { |
3413 | | - "description": "Extends {@link MetaObject} with the subscription-stream identifier carried by a\n{@link SubscriptionsListenResult}. All key naming rules from `MetaObject` apply.", |
| 3417 | + "description": "Extends {@link ResultMetaObject} with the subscription-stream identifier carried by a\n{@link SubscriptionsListenResult}. All key naming rules from `MetaObject` apply.", |
3414 | 3418 | "properties": { |
| 3419 | + "io.modelcontextprotocol/serverInfo": { |
| 3420 | + "$ref": "#/$defs/Implementation", |
| 3421 | + "description": "Identifies the server software producing the response. Servers SHOULD\ninclude this field on every response unless specifically configured not\nto do so.\n\nThe {@link Implementation} schema requires `name` and `version`; other\nfields are optional.\n\nThe value is self-reported by the server and is not verified by the\nprotocol. It is intended for display, logging, and debugging. Clients\nSHOULD NOT use it to change their behavior, and SHOULD NOT rely on it for\nsecurity decisions." |
| 3422 | + }, |
3415 | 3423 | "io.modelcontextprotocol/subscriptionId": { |
3416 | 3424 | "$ref": "#/$defs/RequestId", |
3417 | 3425 | "description": "Identifies the subscription stream this response closes, so the client can\ncorrelate it with the originating subscription — mirroring the same key on\nthe stream's notifications. The value is the JSON-RPC ID of the\n`subscriptions/listen` request that opened the stream (and equals this\nresponse's `id`)." |
|
0 commit comments