#[non_exhaustive]pub enum ServerResult {
Show 18 variants
DiscoverResult(DiscoverResult),
InitializeResult(InitializeResult),
CompleteResult(CompleteResult),
GetPromptResult(GetPromptResult),
ListPromptsResult(ListPromptsResult),
ListResourcesResult(ListResourcesResult),
ListResourceTemplatesResult(ListResourceTemplatesResult),
ReadResourceResult(ReadResourceResult),
SubscriptionsListenResult(SubscriptionsListenResult),
ListToolsResult(ListToolsResult),
ElicitResult(ElicitResult),
CreateTaskResult(CreateTaskResult),
GetTaskResult(GetTaskResult),
CallToolResult(CallToolResult),
InputRequiredResult(InputRequiredResult),
TaskAckResult(TaskAckResult),
EmptyResult(EmptyResult),
CustomResult(CustomResult),
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
DiscoverResult(DiscoverResult)
InitializeResult(InitializeResult)
CompleteResult(CompleteResult)
GetPromptResult(GetPromptResult)
ListPromptsResult(ListPromptsResult)
ListResourcesResult(ListResourcesResult)
ListResourceTemplatesResult(ListResourceTemplatesResult)
ReadResourceResult(ReadResourceResult)
SubscriptionsListenResult(SubscriptionsListenResult)
ListToolsResult(ListToolsResult)
ElicitResult(ElicitResult)
CreateTaskResult(CreateTaskResult)
GetTaskResult(GetTaskResult)
CallToolResult(CallToolResult)
InputRequiredResult(InputRequiredResult)
TaskAckResult(TaskAckResult)
EmptyResult(EmptyResult)
CustomResult(CustomResult)
Implementations§
Source§impl ServerResult
impl ServerResult
pub fn empty(_: ()) -> ServerResult
Sourcepub fn task_ack(_: ()) -> ServerResult
pub fn task_ack(_: ()) -> ServerResult
Empty tasks/update / tasks/cancel acknowledgement carrying the
SEP-2322 resultType: "complete" discriminator (SEP-2663).
Sourcepub fn strip_result_type_for_legacy_peer(&mut self)
pub fn strip_result_type_for_legacy_peer(&mut self)
Strip the SEP-2322 resultType: "complete" discriminator so the result
keeps the wire shape that predates protocol version 2026-07-28.
The server handler calls this before responding to a peer that
negotiated an older protocol version, where the field did not exist and
strict peers may reject it. Only the "complete" value is stripped:
results whose discriminator carries meaning ("input_required",
"task") are already gated to 2026-07-28+ sessions, and custom
extension values are preserved.
§Examples
use rmcp::model::{CallToolResult, ServerResult};
let mut result = ServerResult::CallToolResult(CallToolResult::success(vec![]));
result.strip_result_type_for_legacy_peer();
let json = serde_json::to_value(&result).unwrap();
assert!(json.get("resultType").is_none());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<CallToolResponse> for ServerResult
impl From<CallToolResponse> for ServerResult
Source§fn from(response: CallToolResponse) -> Self
fn from(response: CallToolResponse) -> Self
Converts to this type from the input type.
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<CreateTaskResult> for ServerResult
impl From<CreateTaskResult> for ServerResult
Source§fn from(value: CreateTaskResult) -> Self
fn from(value: CreateTaskResult) -> Self
Converts to this type from the input type.
Source§impl From<CustomResult> for ServerResult
impl From<CustomResult> for ServerResult
Source§fn from(value: CustomResult) -> Self
fn from(value: CustomResult) -> 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<ElicitResult> for ServerResult
impl From<ElicitResult> for ServerResult
Source§fn from(value: ElicitResult) -> Self
fn from(value: ElicitResult) -> Self
Converts to this type from the input type.
Source§impl From<EmptyObject> for ServerResult
impl From<EmptyObject> for ServerResult
Source§fn from(value: EmptyResult) -> Self
fn from(value: EmptyResult) -> Self
Converts to this type from the input type.
Source§impl From<GetPromptResponse> for ServerResult
impl From<GetPromptResponse> for ServerResult
Source§fn from(response: GetPromptResponse) -> Self
fn from(response: GetPromptResponse) -> 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<GetTaskResult> for ServerResult
impl From<GetTaskResult> for ServerResult
Source§fn from(value: GetTaskResult) -> Self
fn from(value: GetTaskResult) -> Self
Converts to this type from the input type.
Source§impl From<InitializeResult> for ServerResult
impl From<InitializeResult> for ServerResult
Source§fn from(value: InitializeResult) -> Self
fn from(value: InitializeResult) -> 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<ReadResourceResponse> for ServerResult
impl From<ReadResourceResponse> for ServerResult
Source§fn from(response: ReadResourceResponse) -> Self
fn from(response: ReadResourceResponse) -> 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<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 From<TaskAckResult> for ServerResult
impl From<TaskAckResult> for ServerResult
Source§fn from(value: TaskAckResult) -> Self
fn from(value: TaskAckResult) -> Self
Converts to this type from the input type.
Source§impl JsonSchema for ServerResult
Available on crate feature schemars only.
impl JsonSchema for ServerResult
Available on crate feature
schemars only.Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ServerResult
impl !UnwindSafe for ServerResult
impl Freeze for ServerResult
impl Send for ServerResult
impl Sync for ServerResult
impl Unpin for ServerResult
impl UnsafeUnpin 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