pub struct McpToolExecutor { /* private fields */ }Expand description
MCP tool executor – routes tool calls to the appropriate MCP server.
Implementations§
Source§impl McpToolExecutor
impl McpToolExecutor
pub fn new() -> Self
pub fn with_fallback(self, fallback: Arc<dyn ToolExecutor>) -> Self
Sourcepub async fn add_server(&self, server: McpServer) -> Result<Vec<String>, String>
pub async fn add_server(&self, server: McpServer) -> Result<Vec<String>, String>
Add an MCP server and discover its tools.
Returns the list of discovered tool names (canonical form: mcp_{server}_{tool}).
Sourcepub async fn tool_schemas(&self) -> Vec<(String, ToolSchema)>
pub async fn tool_schemas(&self) -> Vec<(String, ToolSchema)>
Get tool schemas from all connected MCP servers.
Sourcepub async fn shutdown_all(&self)
pub async fn shutdown_all(&self)
Shut down all MCP servers.
Trait Implementations§
Source§impl Default for McpToolExecutor
impl Default for McpToolExecutor
Source§impl ToolExecutor for McpToolExecutor
impl ToolExecutor for McpToolExecutor
Auto Trait Implementations§
impl Freeze for McpToolExecutor
impl !RefUnwindSafe for McpToolExecutor
impl Send for McpToolExecutor
impl Sync for McpToolExecutor
impl Unpin for McpToolExecutor
impl UnsafeUnpin for McpToolExecutor
impl !UnwindSafe for McpToolExecutor
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> 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