pub enum ServerMessage {
Request(ServerJsonrpcRequest),
Notification(ServerJsonrpcNotification),
Response(ServerJsonrpcResponse),
Error(JsonrpcError),
}
Expand description
“Similar to JsonrpcMessage, but with the variants restricted to client-side messages.” ServerMessage represents a message sent by an MCP Server and received by an MCP Client.
Variants§
Request(ServerJsonrpcRequest)
Notification(ServerJsonrpcNotification)
Response(ServerJsonrpcResponse)
Error(JsonrpcError)
Implementations§
Source§impl ServerMessage
impl ServerMessage
Sourcepub fn as_response(self) -> Result<ServerJsonrpcResponse, RpcError>
pub fn as_response(self) -> Result<ServerJsonrpcResponse, RpcError>
Converts the current message into a ServerJsonrpcResponse
if it’s of the correct type.
This function checks if the current message is of type Response
. If so, it returns the
ServerJsonrpcResponse
wrapped in a Result::Ok
. If the message is not a Response
,
it returns an error with a descriptive message indicating the mismatch in expected message types.
§Returns
Ok(ServerJsonrpcResponse)
if the message is a validResponse
.Err(RpcError)
if the message type is invalid
Sourcepub fn as_request(self) -> Result<ServerJsonrpcRequest, RpcError>
pub fn as_request(self) -> Result<ServerJsonrpcRequest, RpcError>
Converts the current message into a ServerJsonrpcRequest
if it’s of the correct type.
This function checks if the current message is of type Request
. If so, it returns the
ServerJsonrpcRequest
wrapped in a Result::Ok
. If the message is not a Request
,
it returns an error with a descriptive message indicating the mismatch in expected message types.
§Returns
Ok(ServerJsonrpcRequest)
if the message is a validRequest
.Err(RpcError)
if the message type is invalid
Sourcepub fn as_notification(self) -> Result<ServerJsonrpcNotification, RpcError>
pub fn as_notification(self) -> Result<ServerJsonrpcNotification, RpcError>
Converts the current message into a ServerJsonrpcNotification
if it’s of the correct type.
This function checks if the current message is of type Notification
. If so, it returns the
ServerJsonrpcNotification
wrapped in a Result::Ok
. If the message is not a Notification
,
it returns an error with a descriptive message indicating the mismatch in expected message types.
§Returns
Ok(ServerJsonrpcNotification)
if the message is a validNotification
.Err(RpcError)
if the message type is invalid
Sourcepub fn as_error(self) -> Result<JsonrpcError, RpcError>
pub fn as_error(self) -> Result<JsonrpcError, RpcError>
Converts the current message into a JsonrpcError
if it’s of the correct type.
This function checks if the current message is of type Error
. If so, it returns the
JsonrpcError
wrapped in a Result::Ok
. If the message is not a Error
,
it returns an error with a descriptive message indicating the mismatch in expected message types.
§Returns
Ok(JsonrpcError)
if the message is a validError
.Err(RpcError)
if the message type is invalid
Trait Implementations§
Source§impl Clone for ServerMessage
impl Clone for ServerMessage
Source§fn clone(&self) -> ServerMessage
fn clone(&self) -> ServerMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ServerMessage
impl Debug for ServerMessage
Source§impl<'de> Deserialize<'de> for ServerMessage
impl<'de> Deserialize<'de> for ServerMessage
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>,
Source§impl Display for ServerMessage
impl Display for ServerMessage
Source§impl FromMessage<CallToolResult> for ServerMessage
impl FromMessage<CallToolResult> for ServerMessage
fn from_message( message: CallToolResult, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<CancelledNotification> for ServerMessage
impl FromMessage<CancelledNotification> for ServerMessage
fn from_message( message: CancelledNotification, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<CompleteResult> for ServerMessage
impl FromMessage<CompleteResult> for ServerMessage
fn from_message( message: CompleteResult, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<CreateMessageRequest> for ServerMessage
impl FromMessage<CreateMessageRequest> for ServerMessage
fn from_message( message: CreateMessageRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<GetPromptResult> for ServerMessage
impl FromMessage<GetPromptResult> for ServerMessage
fn from_message( message: GetPromptResult, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<InitializeResult> for ServerMessage
impl FromMessage<InitializeResult> for ServerMessage
fn from_message( message: InitializeResult, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ListPromptsResult> for ServerMessage
impl FromMessage<ListPromptsResult> for ServerMessage
fn from_message( message: ListPromptsResult, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ListResourceTemplatesResult> for ServerMessage
impl FromMessage<ListResourceTemplatesResult> for ServerMessage
fn from_message( message: ListResourceTemplatesResult, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ListResourcesResult> for ServerMessage
impl FromMessage<ListResourcesResult> for ServerMessage
fn from_message( message: ListResourcesResult, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ListRootsRequest> for ServerMessage
impl FromMessage<ListRootsRequest> for ServerMessage
fn from_message( message: ListRootsRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ListToolsResult> for ServerMessage
impl FromMessage<ListToolsResult> for ServerMessage
fn from_message( message: ListToolsResult, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<LoggingMessageNotification> for ServerMessage
impl FromMessage<LoggingMessageNotification> for ServerMessage
fn from_message( message: LoggingMessageNotification, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<MessageFromServer> for ServerMessage
impl FromMessage<MessageFromServer> for ServerMessage
fn from_message( message: MessageFromServer, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<PingRequest> for ServerMessage
impl FromMessage<PingRequest> for ServerMessage
fn from_message( message: PingRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ProgressNotification> for ServerMessage
impl FromMessage<ProgressNotification> for ServerMessage
fn from_message( message: ProgressNotification, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<PromptListChangedNotification> for ServerMessage
impl FromMessage<PromptListChangedNotification> for ServerMessage
fn from_message( message: PromptListChangedNotification, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ReadResourceResult> for ServerMessage
impl FromMessage<ReadResourceResult> for ServerMessage
fn from_message( message: ReadResourceResult, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ResourceListChangedNotification> for ServerMessage
impl FromMessage<ResourceListChangedNotification> for ServerMessage
fn from_message( message: ResourceListChangedNotification, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ResourceUpdatedNotification> for ServerMessage
impl FromMessage<ResourceUpdatedNotification> for ServerMessage
fn from_message( message: ResourceUpdatedNotification, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<Result> for ServerMessage
impl FromMessage<Result> for ServerMessage
Source§impl FromMessage<ToolListChangedNotification> for ServerMessage
impl FromMessage<ToolListChangedNotification> for ServerMessage
fn from_message( message: ToolListChangedNotification, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromStr for ServerMessage
impl FromStr for ServerMessage
Source§impl McpMessage for ServerMessage
impl McpMessage for ServerMessage
Source§fn message_type(&self) -> MessageTypes
fn message_type(&self) -> MessageTypes
Determines the type of the message and returns the corresponding MessageTypes
variant.