pub enum ServerResult {
InputRequiredResult(InputRequiredResult),
DiscoverResult(DiscoverResult),
ListResourcesResult(ListResourcesResult),
ListResourceTemplatesResult(ListResourceTemplatesResult),
ReadResourceResult(ReadResourceResult),
SubscriptionsListenResult(SubscriptionsListenResult),
ListPromptsResult(ListPromptsResult),
GetPromptResult(GetPromptResult),
ListToolsResult(ListToolsResult),
CallToolResult(CallToolResult),
CompleteResult(CompleteResult),
Result(Result),
}Expand description
Latest MCP Protocol 2026_07_28 ServerResult
JSON schema
{
"anyOf": [
{
"$ref": "#/$defs/Result"
},
{
"$ref": "#/$defs/InputRequiredResult"
},
{
"$ref": "#/$defs/DiscoverResult"
},
{
"$ref": "#/$defs/ListResourcesResult"
},
{
"$ref": "#/$defs/ListResourceTemplatesResult"
},
{
"$ref": "#/$defs/ReadResourceResult"
},
{
"$ref": "#/$defs/SubscriptionsListenResult"
},
{
"$ref": "#/$defs/ListPromptsResult"
},
{
"$ref": "#/$defs/GetPromptResult"
},
{
"$ref": "#/$defs/ListToolsResult"
},
{
"$ref": "#/$defs/CallToolResult"
},
{
"$ref": "#/$defs/CompleteResult"
}
]
}Variants§
InputRequiredResult(InputRequiredResult)
DiscoverResult(DiscoverResult)
ListResourcesResult(ListResourcesResult)
ListResourceTemplatesResult(ListResourceTemplatesResult)
ReadResourceResult(ReadResourceResult)
SubscriptionsListenResult(SubscriptionsListenResult)
ListPromptsResult(ListPromptsResult)
GetPromptResult(GetPromptResult)
ListToolsResult(ListToolsResult)
CallToolResult(CallToolResult)
CompleteResult(CompleteResult)
Result(Result)
Implementations§
Source§impl ServerResult
impl ServerResult
Sourcepub fn is_input_required(&self) -> bool
pub fn is_input_required(&self) -> bool
Returns true if this result is an InputRequiredResult, i.e. the server is
requesting additional client input (sampling, roots, or elicitation) before it can
complete the original request. This is the 2026-07-28 mid-request interaction mechanism.
Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Returns true if this result is a final (complete) result rather than an
InputRequiredResult. For results received from pre-2026 peers (which carry no
resultType), this is always true.
Sourcepub fn as_input_required(&self) -> Option<&InputRequiredResult>
pub fn as_input_required(&self) -> Option<&InputRequiredResult>
Returns the inner InputRequiredResult if this is an input-required response,
otherwise None. Use this to drive the elicitation/retry loop.
Trait Implementations§
Source§impl Clone for ServerResult
impl Clone for ServerResult
Source§fn clone(&self) -> ServerResult
fn clone(&self) -> ServerResult
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ServerResult
impl Debug for ServerResult
Source§impl<'de> Deserialize<'de> for ServerResult
impl<'de> Deserialize<'de> for ServerResult
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<CallToolResult> for ServerResult
impl From<CallToolResult> for ServerResult
Source§fn from(value: CallToolResult) -> Self
fn from(value: CallToolResult) -> Self
Converts to this type from the input type.
Source§impl From<CompleteResult> for ServerResult
impl From<CompleteResult> for ServerResult
Source§fn from(value: CompleteResult) -> Self
fn from(value: CompleteResult) -> Self
Converts to this type from the input type.
Source§impl From<DiscoverResult> for ServerResult
impl From<DiscoverResult> for ServerResult
Source§fn from(value: DiscoverResult) -> Self
fn from(value: DiscoverResult) -> Self
Converts to this type from the input type.
Source§impl From<GetPromptResult> for ServerResult
impl From<GetPromptResult> for ServerResult
Source§fn from(value: GetPromptResult) -> Self
fn from(value: GetPromptResult) -> Self
Converts to this type from the input type.
Source§impl From<InputRequiredResult> for ServerResult
impl From<InputRequiredResult> for ServerResult
Source§fn from(value: InputRequiredResult) -> Self
fn from(value: InputRequiredResult) -> Self
Converts to this type from the input type.
Source§impl From<ListPromptsResult> for ServerResult
impl From<ListPromptsResult> for ServerResult
Source§fn from(value: ListPromptsResult) -> Self
fn from(value: ListPromptsResult) -> Self
Converts to this type from the input type.
Source§impl From<ListResourceTemplatesResult> for ServerResult
impl From<ListResourceTemplatesResult> for ServerResult
Source§fn from(value: ListResourceTemplatesResult) -> Self
fn from(value: ListResourceTemplatesResult) -> Self
Converts to this type from the input type.
Source§impl From<ListResourcesResult> for ServerResult
impl From<ListResourcesResult> for ServerResult
Source§fn from(value: ListResourcesResult) -> Self
fn from(value: ListResourcesResult) -> Self
Converts to this type from the input type.
Source§impl From<ListToolsResult> for ServerResult
impl From<ListToolsResult> for ServerResult
Source§fn from(value: ListToolsResult) -> Self
fn from(value: ListToolsResult) -> Self
Converts to this type from the input type.
Source§impl From<ReadResourceResult> for ServerResult
impl From<ReadResourceResult> for ServerResult
Source§fn from(value: ReadResourceResult) -> Self
fn from(value: ReadResourceResult) -> Self
Converts to this type from the input type.
Source§impl From<Result> for ServerResult
impl From<Result> for ServerResult
Source§impl From<ServerResult> for MessageFromServer
impl From<ServerResult> for MessageFromServer
Source§fn from(value: ServerResult) -> Self
fn from(value: ServerResult) -> Self
Converts to this type from the input type.
Source§impl From<SubscriptionsListenResult> for ServerResult
impl From<SubscriptionsListenResult> for ServerResult
Source§fn from(value: SubscriptionsListenResult) -> Self
fn from(value: SubscriptionsListenResult) -> Self
Converts to this type from the input type.
Source§impl Serialize for ServerResult
impl Serialize for ServerResult
Source§impl TryFrom<ServerResult> for GenericResult
impl TryFrom<ServerResult> for GenericResult
Source§impl TryFrom<ServerResult> for InputRequiredResult
impl TryFrom<ServerResult> for InputRequiredResult
Source§impl TryFrom<ServerResult> for DiscoverResult
impl TryFrom<ServerResult> for DiscoverResult
Source§impl TryFrom<ServerResult> for ListResourcesResult
impl TryFrom<ServerResult> for ListResourcesResult
Source§impl TryFrom<ServerResult> for ReadResourceResult
impl TryFrom<ServerResult> for ReadResourceResult
Source§impl TryFrom<ServerResult> for ListPromptsResult
impl TryFrom<ServerResult> for ListPromptsResult
Source§impl TryFrom<ServerResult> for GetPromptResult
impl TryFrom<ServerResult> for GetPromptResult
Source§impl TryFrom<ServerResult> for ListToolsResult
impl TryFrom<ServerResult> for ListToolsResult
Source§impl TryFrom<ServerResult> for CallToolResult
impl TryFrom<ServerResult> for CallToolResult
Source§impl TryFrom<ServerResult> for CompleteResult
impl TryFrom<ServerResult> for CompleteResult
Auto Trait Implementations§
impl Freeze for ServerResult
impl RefUnwindSafe for ServerResult
impl Send for ServerResult
impl Sync for ServerResult
impl Unpin for ServerResult
impl UnsafeUnpin for ServerResult
impl UnwindSafe for ServerResult
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more