Skip to main content

steer_core/tools/mcp/
error.rs

1use serde::{Deserialize, Serialize};
2use thiserror::Error;
3
4#[derive(Error, Debug, Clone, Serialize, Deserialize)]
5pub enum McpError {
6    #[error("Cannot connect to {server_name}: {message}")]
7    ConnectionFailed {
8        server_name: String,
9        message: String,
10    },
11
12    #[error("Failed to list tools: {message}")]
13    ListToolsFailed { message: String },
14
15    #[error("Failed to serve MCP over {transport}: {message}")]
16    ServeFailed { transport: String, message: String },
17
18    #[error("Timeout listing tools from {server_name}")]
19    ListToolsTimeout { server_name: String },
20}