DynamicTool

Struct DynamicTool 

Source
pub struct DynamicTool { /* private fields */ }
Expand description

Dynamic tool creation with runtime configuration and type-safe builders Dynamic tool created by ToolBuilder

Implementations§

Source§

impl DynamicTool

Source

pub async fn execute(&self, args: Value) -> Result<Value, String>

Execute the tool with the given arguments

Trait Implementations§

Source§

impl HasAnnotations for DynamicTool

Implements HasAnnotations for DynamicTool providing metadata annotations

Source§

impl HasBaseMetadata for DynamicTool

Implements HasBaseMetadata for DynamicTool providing name and title access

Source§

fn name(&self) -> &str

Programmatic identifier (fallback display name)
Source§

fn title(&self) -> Option<&str>

Human-readable display name (UI contexts)
Source§

impl HasDescription for DynamicTool

Implements HasDescription for DynamicTool providing description text access

Source§

impl HasInputSchema for DynamicTool

Implements HasInputSchema for DynamicTool providing parameter schema access

Source§

impl HasOutputSchema for DynamicTool

Implements HasOutputSchema for DynamicTool providing result schema access

Source§

impl HasToolMeta for DynamicTool

Implements HasToolMeta for DynamicTool providing additional metadata fields

Source§

impl McpTool for DynamicTool

Implements McpTool for DynamicTool to enable Level 3 builder pattern tool creation

This implementation bridges DynamicTool’s builder pattern with the framework’s session-aware execution model, enabling runtime tool construction with type safety.

Source§

fn call<'life0, 'async_trait>( &'life0 self, args: Value, _session: Option<SessionContext>, ) -> Pin<Box<dyn Future<Output = McpResult<CallToolResult>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Execute the tool with full session support Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToolDefinition for T

Source§

fn display_name(&self) -> &str

Display name precedence: title > annotations.title > name (matches TypeScript spec)
Source§

fn to_tool(&self) -> Tool

Convert to concrete Tool struct for protocol serialization
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,