pub struct ToolInputSchema {
pub schema: Option<String>,
pub extra: Option<Map<String, Value>>,
/* private fields */
}Expand description
Latest MCP Protocol 2026_07_28 A JSON Schema object defining the expected parameters for the tool. Tool arguments are always JSON objects, so type: “object” is required at the root. Beyond that, any JSON Schema 2020-12 keyword may appear alongside type — including composition keywords (oneOf, anyOf, allOf, not), conditional keywords (if/then/else), reference keywords ($ref, $defs, $anchor), and any other standard validation or annotation keywords. Property schemas may carry an x-mcp-header annotation to mirror the argument value into an HTTP header on the Streamable HTTP transport. See the Streamable HTTP transport specification for the validity and extraction rules. Defaults to JSON Schema 2020-12 when no explicit $schema is provided.
JSON schema
{
"description": "A JSON Schema object defining the expected parameters for the tool.\n\nTool arguments are always JSON objects, so type: \"object\" is required at the root.\nBeyond that, any JSON Schema 2020-12 keyword may appear alongside type — including\ncomposition keywords (oneOf, anyOf, allOf, not), conditional keywords\n(if/then/else), reference keywords ($ref, $defs, $anchor), and any other\nstandard validation or annotation keywords.\n\nProperty schemas may carry an x-mcp-header annotation to mirror the\nargument value into an HTTP header on the Streamable HTTP transport. See\nthe Streamable HTTP transport specification for the validity and\nextraction rules.\n\nDefaults to JSON Schema 2020-12 when no explicit $schema is provided.",
"type": "object",
"required": [
"type"
],
"properties": {
"$schema": {
"type": "string"
},
"type": {
"type": "string",
"const": "object"
}
},
"additionalProperties": {}
}Fields§
§schema: Option<String>§extra: Option<Map<String, Value>>Implementations§
Trait Implementations§
Source§impl Clone for ToolInputSchema
impl Clone for ToolInputSchema
Source§fn clone(&self) -> ToolInputSchema
fn clone(&self) -> ToolInputSchema
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 ToolInputSchema
impl Debug for ToolInputSchema
Source§impl<'de> Deserialize<'de> for ToolInputSchema
impl<'de> Deserialize<'de> for ToolInputSchema
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 ToolInputSchema
impl RefUnwindSafe for ToolInputSchema
impl Send for ToolInputSchema
impl Sync for ToolInputSchema
impl Unpin for ToolInputSchema
impl UnsafeUnpin for ToolInputSchema
impl UnwindSafe for ToolInputSchema
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