crates_docs/server/handler/
types.rs1use rust_mcp_sdk::schema::{CallToolError, CallToolResult, ResultFromServer};
4
5#[derive(Debug)]
7pub struct ToolExecutionResult {
8 pub tool_name: String,
10 pub duration: std::time::Duration,
12 pub success: bool,
14 pub result: std::result::Result<CallToolResult, CallToolError>,
16}
17
18impl ToolExecutionResult {
19 pub fn into_call_tool_result(self) -> std::result::Result<CallToolResult, CallToolError> {
21 self.result
22 }
23
24 pub fn into_result_from_server(self) -> ResultFromServer {
26 self.result.unwrap_or_else(CallToolResult::from).into()
27 }
28}