pub struct Tool {
pub name: String,
pub title: Option<String>,
pub description: String,
pub input_schema: Value,
pub output_schema: Option<Value>,
pub annotations: Option<ToolAnnotations>,
pub icons: Option<Vec<Icon>>,
pub execution: Option<ToolExecution>,
pub _meta: Option<ToolMeta>,
}Expand description
Tool definition
Fields§
§name: String§title: Option<String>§description: String§input_schema: Value§output_schema: Option<Value>§annotations: Option<ToolAnnotations>§icons: Option<Vec<Icon>>§execution: Option<ToolExecution>Execution configuration for task support (MCP 2025-11-25)
_meta: Option<ToolMeta>Tool metadata for extensions like MCP Apps (SEP-1865)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Tool
impl<'de> Deserialize<'de> for Tool
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Tool
impl RefUnwindSafe for Tool
impl Send for Tool
impl Sync for Tool
impl Unpin for Tool
impl UnwindSafe for Tool
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)