pub struct CallToolResult {
pub content: Vec<ContentBlock>,
pub is_error: Option<bool>,
pub structured_content: Option<Value>,
pub meta: Option<HashMap<String, Value>>,
}
Expand description
Result for tools/call (per MCP spec)
Fields§
§content: Vec<ContentBlock>
Content returned by the tool
is_error: Option<bool>
Whether the tool call resulted in an error
structured_content: Option<Value>
Structured content that matches the tool’s output schema (MCP 2025-06-18)
meta: Option<HashMap<String, Value>>
Meta information (follows MCP Result interface)
Implementations§
Source§impl CallToolResult
impl CallToolResult
pub fn new(content: Vec<ContentBlock>) -> CallToolResult
pub fn success(content: Vec<ContentBlock>) -> CallToolResult
pub fn error(content: Vec<ContentBlock>) -> CallToolResult
pub fn with_error_flag(self, is_error: bool) -> CallToolResult
pub fn with_structured_content( self, structured_content: Value, ) -> CallToolResult
pub fn with_meta(self, meta: HashMap<String, Value>) -> CallToolResult
Sourcepub fn from_result_with_tool<T>(
result: &T,
tool: &dyn ToolDefinition,
) -> Result<CallToolResult, McpError>where
T: Serialize,
pub fn from_result_with_tool<T>(
result: &T,
tool: &dyn ToolDefinition,
) -> Result<CallToolResult, McpError>where
T: Serialize,
Create response from serializable result with automatic structured content based on ToolDefinition
Sourcepub fn from_result_with_schema<T>(
result: &T,
schema: Option<&ToolSchema>,
) -> Result<CallToolResult, McpError>where
T: Serialize,
pub fn from_result_with_schema<T>(
result: &T,
schema: Option<&ToolSchema>,
) -> Result<CallToolResult, McpError>where
T: Serialize,
Create response from serializable result with automatic structured content based on schema
Sourcepub fn from_result_auto<T>(
result: &T,
schema: Option<&ToolSchema>,
) -> Result<CallToolResult, McpError>where
T: Serialize,
pub fn from_result_auto<T>(
result: &T,
schema: Option<&ToolSchema>,
) -> Result<CallToolResult, McpError>where
T: Serialize,
Create response with automatic structured content for primitives (zero-config)
Sourcepub fn from_json_with_schema(
json_result: Value,
schema: Option<&ToolSchema>,
) -> CallToolResult
pub fn from_json_with_schema( json_result: Value, schema: Option<&ToolSchema>, ) -> CallToolResult
Create response from JSON value with automatic structured content
Trait Implementations§
Source§impl CallToolResult for CallToolResult
impl CallToolResult for CallToolResult
Source§impl Clone for CallToolResult
impl Clone for CallToolResult
Source§fn clone(&self) -> CallToolResult
fn clone(&self) -> CallToolResult
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for CallToolResult
impl Debug for CallToolResult
Source§impl<'de> Deserialize<'de> for CallToolResult
impl<'de> Deserialize<'de> for CallToolResult
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CallToolResult, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CallToolResult, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl HasData for CallToolResult
impl HasData for CallToolResult
Source§impl HasMeta for CallToolResult
impl HasMeta for CallToolResult
Source§impl Serialize for CallToolResult
impl Serialize for CallToolResult
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl RpcResult for CallToolResult
Auto Trait Implementations§
impl Freeze for CallToolResult
impl RefUnwindSafe for CallToolResult
impl Send for CallToolResult
impl Sync for CallToolResult
impl Unpin for CallToolResult
impl UnwindSafe for CallToolResult
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more