pub enum Error {
Show 15 variants
Io(Error),
ConfigParse(String),
ConfigInvalid(String),
Process(String),
JsonRpc(String),
Transport(String),
ServerNotFound(String),
ToolNotFound(String),
ResourceNotFound(String),
Communication(String),
Timeout(String),
AlreadyRunning,
NotRunning,
Serialization(String),
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§
Io(Error)
Indicates an underlying IO error occurred.
This typically happens when:
- Reading from or writing to files
- Reading from or writing to process stdin/stdout
- Network operations
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
Other(String)
Any other error not covered by the above categories.
This is a catch-all error for cases not explicitly handled elsewhere.