pub struct McpTool {
pub name: String,
pub description: Option<String>,
pub input_schema: Value,
pub output_schema: Option<Value>,
pub tags: Vec<String>,
}Expand description
A tool description that will be sent to MCP clients in tools/list.
Fields§
§name: StringStable name of the tool (usually derived from path + method or a slug).
description: Option<String>Human readable description (comes from OpenAPI summary / description when available).
input_schema: ValueJSON Schema for the input parameters (reused from rustapi-openapi / Schema derive).
output_schema: Option<Value>Optional JSON Schema for the output (when we have good response schemas).
Tags associated with this tool (used for filtering via McpConfig).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for McpTool
impl<'de> Deserialize<'de> for McpTool
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 McpTool
impl RefUnwindSafe for McpTool
impl Send for McpTool
impl Sync for McpTool
impl Unpin for McpTool
impl UnsafeUnpin for McpTool
impl UnwindSafe for McpTool
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more