pub struct McpTool { /* private fields */ }Available on crate feature
rmcp only.Expand description
A Rig tool adapter wrapping an rmcp MCP tool.
Bridges between the MCP tool protocol and Rig’s ToolDyn trait,
allowing MCP tools to be used seamlessly in Rig agents.
Implementations§
Source§impl McpTool
impl McpTool
Sourcepub fn from_mcp_server(definition: Tool, client: ServerSink) -> Self
pub fn from_mcp_server(definition: Tool, client: ServerSink) -> Self
Create a new McpTool from an MCP tool definition and server sink.
Trait Implementations§
Source§impl ToolDyn for McpTool
impl ToolDyn for McpTool
Source§fn definition(&self, _prompt: String) -> WasmBoxedFuture<'_, ToolDefinition>
fn definition(&self, _prompt: String) -> WasmBoxedFuture<'_, ToolDefinition>
Returns the provider-facing tool schema.
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,
Source§impl<T> CloneableStorage for T
impl<T> CloneableStorage for T
fn clone_storage(&self) -> Box<dyn CloneableStorage>
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> 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