pub struct Tool {
pub name: String,
pub title: Option<String>,
pub description: Option<String>,
pub input_schema: ToolSchema,
pub output_schema: Option<ToolSchema>,
pub annotations: Option<ToolAnnotations>,
pub meta: Option<HashMap<String, Value>>,
}
Expand description
Tool definition
Fields§
§name: String
The tool’s name - used as identifier when calling
title: Option<String>
Intended for UI and end-user contexts — optimized to be human-readable and easily understood, even by those unfamiliar with domain-specific terminology.
description: Option<String>
Optional human-readable description
input_schema: ToolSchema
JSON Schema for input parameters
output_schema: Option<ToolSchema>
Optional JSON Schema for output results
annotations: Option<ToolAnnotations>
Optional annotations for client hints
meta: Option<HashMap<String, Value>>
Implementations§
Source§impl Tool
impl Tool
pub fn new(name: impl Into<String>, input_schema: ToolSchema) -> Tool
pub fn with_title(self, title: impl Into<String>) -> Tool
pub fn with_description(self, description: impl Into<String>) -> Tool
pub fn with_output_schema(self, output_schema: ToolSchema) -> Tool
pub fn with_annotations(self, annotations: ToolAnnotations) -> Tool
pub fn with_meta(self, meta: HashMap<String, Value>) -> Tool
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Tool
impl<'de> Deserialize<'de> for Tool
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Tool, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Tool, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl HasAnnotations for Tool
impl HasAnnotations for Tool
fn annotations(&self) -> Option<&ToolAnnotations>
Source§impl HasBaseMetadata for Tool
impl HasBaseMetadata for Tool
Source§impl HasDescription for Tool
impl HasDescription for Tool
fn description(&self) -> Option<&str>
Source§impl HasInputSchema for Tool
impl HasInputSchema for Tool
fn input_schema(&self) -> &ToolSchema
Source§impl HasOutputSchema for Tool
impl HasOutputSchema for Tool
fn output_schema(&self) -> Option<&ToolSchema>
Source§impl Serialize for Tool
impl Serialize for Tool
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
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§
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