Skip to main content

ToolProvider

Trait ToolProvider 

Source
pub trait ToolProvider: Send + Sync {
    // Required method
    fn tools(&self) -> Vec<DynTool> ;
}
Expand description

Trait for types that can provide multiple tools.

Implement this trait to group related tools together.

§Example

use mcp::{ToolProvider, McpTool};

struct MathTools;

impl ToolProvider for MathTools {
    fn tools(&self) -> Vec<Arc<dyn McpTool>> {
        vec![
            Arc::new(AddTool),
            Arc::new(SubtractTool),
            Arc::new(MultiplyTool),
        ]
    }
}

Required Methods§

Source

fn tools(&self) -> Vec<DynTool>

Returns a list of tools provided by this provider.

Implementors§

Source§

impl<T: MacroServer + 'static> ToolProvider for MacroServerAdapter<T>

Available on crate feature macros only.