rust_mcp_sdk/
error.rs
1use rust_mcp_schema::RpcError;
2use rust_mcp_transport::error::TransportError;
3use thiserror::Error;
4
5#[cfg(feature = "hyper-server")]
6use crate::hyper_servers::error::TransportServerError;
7
8pub type SdkResult<T> = core::result::Result<T, McpSdkError>;
9
10#[derive(Debug, Error)]
11pub enum McpSdkError {
12 #[error("{0}")]
13 RpcError(#[from] RpcError),
14 #[error("{0}")]
15 IoError(#[from] std::io::Error),
16 #[error("{0}")]
17 TransportError(#[from] TransportError),
18 #[error("{0}")]
19 AnyErrorStatic(Box<(dyn std::error::Error + Send + Sync + 'static)>),
20 #[error("{0}")]
21 AnyError(Box<(dyn std::error::Error + Send + Sync)>),
22 #[error("{0}")]
23 SdkError(#[from] rust_mcp_schema::schema_utils::SdkError),
24 #[cfg(feature = "hyper-server")]
25 #[error("{0}")]
26 TransportServerError(#[from] TransportServerError),
27}
28
29#[deprecated(since = "0.2.0", note = "Use `McpSdkError` instead.")]
30pub type MCPSdkError = McpSdkError;