pub enum ProtocolError {
Show 15 variants
InvalidJsonRpc {
reason: String,
},
UnsupportedVersion {
version: String,
supported: Vec<String>,
},
MessageIdMismatch {
expected: String,
actual: String,
},
UnexpectedMessageType {
expected: String,
actual: String,
},
MissingField {
field: String,
message_type: String,
},
InvalidMethod {
method: String,
},
ServerError {
code: i32,
message: String,
},
StateViolation {
reason: String,
},
InitializationFailed {
reason: String,
},
NotInitialized {
reason: String,
},
InvalidResponse {
reason: String,
},
InvalidConfig {
reason: String,
},
TimeoutError {
operation: String,
timeout: Duration,
},
RequestFailed {
reason: String,
},
RequestTimeout {
timeout: Duration,
},
}Expand description
Protocol-level errors related to MCP message handling.
These errors occur when messages don’t conform to the MCP specification or when protocol violations are detected.
Variants§
InvalidJsonRpc
Invalid JSON-RPC message format
UnsupportedVersion
Unsupported MCP protocol version
MessageIdMismatch
Message ID mismatch in request/response correlation
UnexpectedMessageType
Unexpected message type received
MissingField
Required field missing from message
InvalidMethod
Invalid method name for MCP operation
ServerError
Server returned an error response
StateViolation
Protocol state violation (e.g., calling method before initialization)
InitializationFailed
Protocol initialization failed
NotInitialized
Operation attempted before protocol initialization
InvalidResponse
Invalid or malformed response
InvalidConfig
Configuration error in protocol settings
TimeoutError
Operation timeout
RequestFailed
Request failed
RequestTimeout
Request timed out
Trait Implementations§
Source§impl Clone for ProtocolError
impl Clone for ProtocolError
Source§fn clone(&self) -> ProtocolError
fn clone(&self) -> ProtocolError
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProtocolError
impl Debug for ProtocolError
Source§impl Display for ProtocolError
impl Display for ProtocolError
Source§impl Error for ProtocolError
impl Error for ProtocolError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<ProtocolError> for McpError
impl From<ProtocolError> for McpError
Source§fn from(source: ProtocolError) -> Self
fn from(source: ProtocolError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ProtocolError
impl RefUnwindSafe for ProtocolError
impl Send for ProtocolError
impl Sync for ProtocolError
impl Unpin for ProtocolError
impl UnwindSafe for ProtocolError
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