pub enum ClientMessage {
Request(ClientJsonrpcRequest),
Notification(ClientJsonrpcNotification),
Response(ClientJsonrpcResponse),
Error(JsonrpcError),
}
Expand description
“Similar to JsonrpcMessage, but with the variants restricted to client-side messages.” ClientMessage represents a message sent by an MCP Client and received by an MCP Server.
Variants§
Request(ClientJsonrpcRequest)
Notification(ClientJsonrpcNotification)
Response(ClientJsonrpcResponse)
Error(JsonrpcError)
Implementations§
Source§impl ClientMessage
impl ClientMessage
Sourcepub fn as_response(self) -> Result<ClientJsonrpcResponse, RpcError>
pub fn as_response(self) -> Result<ClientJsonrpcResponse, RpcError>
Converts the current message into a ClientJsonrpcResponse
if it’s of the correct type.
This function checks if the current message is of type Response
. If so, it returns the
ClientJsonrpcResponse
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(ClientJsonrpcResponse)
if the message is a validResponse
.Err(RpcError)
if the message type is invalid
Sourcepub fn as_request(self) -> Result<ClientJsonrpcRequest, RpcError>
pub fn as_request(self) -> Result<ClientJsonrpcRequest, RpcError>
Converts the current message into a ClientJsonrpcRequest
if it’s of the correct type.
This function checks if the current message is of type Request
. If so, it returns the
ClientJsonrpcRequest
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(ClientJsonrpcRequest)
if the message is a validRequest
.Err(RpcError)
if the message type is invalid
Sourcepub fn as_notification(self) -> Result<ClientJsonrpcNotification, RpcError>
pub fn as_notification(self) -> Result<ClientJsonrpcNotification, RpcError>
Converts the current message into a ClientJsonrpcNotification
if it’s of the correct type.
This function checks if the current message is of type Notification
. If so, it returns the
ClientJsonrpcNotification
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(ClientJsonrpcNotification)
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 ClientMessage
impl Clone for ClientMessage
Source§fn clone(&self) -> ClientMessage
fn clone(&self) -> ClientMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ClientMessage
impl Debug for ClientMessage
Source§impl<'de> Deserialize<'de> for ClientMessage
impl<'de> Deserialize<'de> for ClientMessage
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 ClientMessage
impl Display for ClientMessage
Source§impl FromMessage<CallToolRequest> for ClientMessage
impl FromMessage<CallToolRequest> for ClientMessage
fn from_message( message: CallToolRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<CancelledNotification> for ClientMessage
impl FromMessage<CancelledNotification> for ClientMessage
fn from_message( message: CancelledNotification, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<CompleteRequest> for ClientMessage
impl FromMessage<CompleteRequest> for ClientMessage
fn from_message( message: CompleteRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<CreateMessageResult> for ClientMessage
impl FromMessage<CreateMessageResult> for ClientMessage
fn from_message( message: CreateMessageResult, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<GetPromptRequest> for ClientMessage
impl FromMessage<GetPromptRequest> for ClientMessage
fn from_message( message: GetPromptRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<InitializeRequest> for ClientMessage
impl FromMessage<InitializeRequest> for ClientMessage
fn from_message( message: InitializeRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<InitializedNotification> for ClientMessage
impl FromMessage<InitializedNotification> for ClientMessage
fn from_message( message: InitializedNotification, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ListPromptsRequest> for ClientMessage
impl FromMessage<ListPromptsRequest> for ClientMessage
fn from_message( message: ListPromptsRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ListResourceTemplatesRequest> for ClientMessage
impl FromMessage<ListResourceTemplatesRequest> for ClientMessage
fn from_message( message: ListResourceTemplatesRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ListResourcesRequest> for ClientMessage
impl FromMessage<ListResourcesRequest> for ClientMessage
fn from_message( message: ListResourcesRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ListRootsResult> for ClientMessage
impl FromMessage<ListRootsResult> for ClientMessage
fn from_message( message: ListRootsResult, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ListToolsRequest> for ClientMessage
impl FromMessage<ListToolsRequest> for ClientMessage
fn from_message( message: ListToolsRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<MessageFromClient> for ClientMessage
impl FromMessage<MessageFromClient> for ClientMessage
fn from_message( message: MessageFromClient, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<PingRequest> for ClientMessage
impl FromMessage<PingRequest> for ClientMessage
fn from_message( message: PingRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ProgressNotification> for ClientMessage
impl FromMessage<ProgressNotification> for ClientMessage
fn from_message( message: ProgressNotification, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<ReadResourceRequest> for ClientMessage
impl FromMessage<ReadResourceRequest> for ClientMessage
fn from_message( message: ReadResourceRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<Result> for ClientMessage
impl FromMessage<Result> for ClientMessage
Source§impl FromMessage<RootsListChangedNotification> for ClientMessage
impl FromMessage<RootsListChangedNotification> for ClientMessage
fn from_message( message: RootsListChangedNotification, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<SetLevelRequest> for ClientMessage
impl FromMessage<SetLevelRequest> for ClientMessage
fn from_message( message: SetLevelRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<SubscribeRequest> for ClientMessage
impl FromMessage<SubscribeRequest> for ClientMessage
fn from_message( message: SubscribeRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromMessage<UnsubscribeRequest> for ClientMessage
impl FromMessage<UnsubscribeRequest> for ClientMessage
fn from_message( message: UnsubscribeRequest, request_id: Option<RequestId>, ) -> Result<Self, RpcError>
Source§impl FromStr for ClientMessage
impl FromStr for ClientMessage
Source§impl McpMessage for ClientMessage
impl McpMessage for ClientMessage
Source§fn message_type(&self) -> MessageTypes
fn message_type(&self) -> MessageTypes
Determines the type of the message and returns the corresponding MessageTypes
variant.