pub struct ToolOutputSchema {
pub additional: HashMap<String, Value>,
}Expand description
Core MCP protocol types and error handling
JSON Schema for Tool.outputSchema per 2026-07-28:
outputSchema?: { $schema?: string; [key: string]: unknown }Unlike ToolSchema (inputSchema), outputSchema has no root type
constraint — it may describe any JSON value (object, array, string,
number, boolean, null). Use Self::any for an empty/unrestricted schema,
or attach arbitrary 2020-12 keywords via additional.
Fields§
§additional: HashMap<String, Value>All schema fields (no required type field — output may be any JSON
per schema). Use this for $schema, type (if you want object root),
oneOf, anyOf, $ref, $defs, etc.
Implementations§
Source§impl ToolOutputSchema
impl ToolOutputSchema
Sourcepub fn any() -> ToolOutputSchema
pub fn any() -> ToolOutputSchema
Empty schema — accepts any JSON value as output.
Trait Implementations§
Source§impl Clone for ToolOutputSchema
impl Clone for ToolOutputSchema
Source§fn clone(&self) -> ToolOutputSchema
fn clone(&self) -> ToolOutputSchema
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ToolOutputSchema
impl Debug for ToolOutputSchema
Source§impl Default for ToolOutputSchema
impl Default for ToolOutputSchema
Source§fn default() -> ToolOutputSchema
fn default() -> ToolOutputSchema
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ToolOutputSchema
impl<'de> Deserialize<'de> for ToolOutputSchema
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ToolOutputSchema, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ToolOutputSchema, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for ToolOutputSchema
impl Serialize for ToolOutputSchema
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 ToolOutputSchema
impl RefUnwindSafe for ToolOutputSchema
impl Send for ToolOutputSchema
impl Sync for ToolOutputSchema
impl Unpin for ToolOutputSchema
impl UnsafeUnpin for ToolOutputSchema
impl UnwindSafe for ToolOutputSchema
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