Enum Error

Source
pub enum Error {
Show 17 variants ConfigParse(String), ConfigInvalid(String), Process(String), JsonRpc(String), Transport(String), ServerNotFound(String), ToolNotFound(String), ResourceNotFound(String), Communication(String), Timeout(String), AlreadyRunning, NotRunning, Serialization(String), ConfigValidation(String), Unauthorized(String), ClientAlreadyCached, Other(String),
}
Expand description

Errors that can occur in the mcp-runner library.

This enum represents all possible error types that can be returned from operations in the MCP Runner library. Each variant includes context information to help diagnose and handle the error appropriately.

Variants§

§

ConfigParse(String)

Failed to parse configuration from a file or string.

This error occurs when:

  • The configuration JSON is malformed
  • Required fields are missing
  • Field types are incorrect
§

ConfigInvalid(String)

Configuration is valid JSON but contains invalid values.

This error occurs when:

  • A command doesn’t exist or isn’t executable
  • Environment variables have invalid values
  • Conflicting settings are specified
§

Process(String)

Error when starting, stopping, or communicating with a server process.

This error occurs when:

  • The process fails to start
  • The process exits unexpectedly
  • The process fails to respond correctly
§

JsonRpc(String)

Error in the JSON-RPC protocol.

This error occurs when:

  • The server returns an error response
  • The method doesn’t exist
  • Invalid parameters are provided
  • The server response doesn’t match the request
§

Transport(String)

Error in the transport layer.

This error occurs when:

  • The transport fails to initialize
  • The transport encounters an error during operation
  • The transport fails to close properly
§

ServerNotFound(String)

Requested server was not found in the configuration.

This error occurs when:

  • A server name is passed that doesn’t exist in the config
  • A server ID is used that doesn’t match any running server
§

ToolNotFound(String)

Requested tool was not found on the MCP server.

This error occurs when:

  • The tool name doesn’t exist on the server
  • The tool is disabled or unavailable
§

ResourceNotFound(String)

Requested resource was not found on the MCP server.

This error occurs when:

  • The resource URI doesn’t exist
  • The resource is not accessible to the client
§

Communication(String)

Error in communication with the MCP server.

This error occurs when:

  • The server doesn’t respond
  • The response is malformed
  • The connection is lost
§

Timeout(String)

Operation timed out.

This error occurs when:

  • A server takes too long to start
  • A server takes too long to respond
  • A response is expected but doesn’t arrive within the timeout period
§

AlreadyRunning

The server is already running.

This error occurs when:

  • Attempting to start a server that’s already running
§

NotRunning

The server is not running.

This error occurs when:

  • Attempting to stop a server that’s not running
  • Attempting to get a client for a server that’s not running
§

Serialization(String)

Error in serializing or deserializing data.

This error occurs when:

  • Arguments can’t be serialized to JSON
  • Results can’t be deserialized from JSON
  • Types don’t match expected schema
§

ConfigValidation(String)

Configuration is valid but contains values that fail validation checks.

This error occurs when:

  • A specified file path doesn’t exist.
  • A required field is missing based on context.
  • A value is outside the allowed range or set.
§

Unauthorized(String)

Unauthorized access error.

This error occurs when:

  • An operation requires authentication but none was provided.
  • The provided authentication token is invalid.
  • The authenticated user does not have permission for the operation.
§

ClientAlreadyCached

The client is already cached.

This error occurs when:

  • There is an attempt to cache a client that is already cached.
§

Other(String)

Any other error not covered by the above categories.

This is a catch-all error for cases not explicitly handled elsewhere.

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for Error

1.30.0 · Source§

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

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for ApiError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl ResponseError for Error

Source§

fn error_response(&self) -> HttpResponse

Creates full response for error. Read more
Source§

fn status_code(&self) -> StatusCode

Returns appropriate status code for error. Read more

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T