pub struct ReadResourceResult {
pub cache_scope: ReadResourceResultCacheScope,
pub contents: Vec<ReadResourceContent>,
pub meta: Option<ResultMetaObject>,
pub result_type: String,
pub ttl_ms: u64,
}Expand description
Latest MCP Protocol 2026_07_28 The result returned by the server for a {@link ReadResourceRequestresources/read} request.
JSON schema
{
"description": "The result returned by the server for a {@link ReadResourceRequestresources/read} request.",
"type": "object",
"required": [
"cacheScope",
"contents",
"resultType",
"ttlMs"
],
"properties": {
"_meta": {
"$ref": "#/$defs/ResultMetaObject"
},
"cacheScope": {
"description": "Indicates the intended scope of the cached response, analogous to HTTP\nCache-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).",
"type": "string",
"enum": [
"private",
"public"
]
},
"contents": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/$defs/TextResourceContents"
},
{
"$ref": "#/$defs/BlobResourceContents"
}
]
}
},
"resultType": {
"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\nresultType), the client MUST treat the absent field as \"complete\".",
"type": "string"
},
"ttlMs": {
"description": "A hint from the server indicating how long (in milliseconds) the\nclient MAY cache this response before re-fetching. Semantics are\nanalogous to HTTP Cache-Control max-age.\n\n- If 0, The response SHOULD be considered immediately stale,\n The client MAY re-fetch every time the result is needed.\n- If positive, the client SHOULD consider the result fresh for this many\n milliseconds after receiving the response.",
"type": "integer",
"minimum": 0.0
}
}
}Fields§
§cache_scope: ReadResourceResultCacheScopeIndicates the intended scope of the cached response, analogous to HTTP Cache-Control: public vs Cache-Control: private. - “public”: The response does not contain user-specific data. Any client or intermediary (e.g., shared gateway, caching proxy) MAY cache the response and serve it across authorization contexts. - “private”: The response MAY be cached and reused only within the same authorization context. Caches MUST NOT be shared across authorization contexts (e.g., a different access token requires a different cache).
contents: Vec<ReadResourceContent>§meta: Option<ResultMetaObject>§result_type: StringIndicates the type of the result, which allows the client to determine how to parse the result object. Servers implementing this protocol version MUST include this field. For backward compatibility, when a client receives a result from a server implementing an earlier protocol version (which does not include resultType), the client MUST treat the absent field as “complete”.
ttl_ms: u64A hint from the server indicating how long (in milliseconds) the client MAY cache this response before re-fetching. Semantics are analogous to HTTP Cache-Control max-age. - If 0, The response SHOULD be considered immediately stale, The client MAY re-fetch every time the result is needed. - If positive, the client SHOULD consider the result fresh for this many milliseconds after receiving the response.
Trait Implementations§
Source§impl Clone for ReadResourceResult
impl Clone for ReadResourceResult
Source§fn clone(&self) -> ReadResourceResult
fn clone(&self) -> ReadResourceResult
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more