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§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl<T: MacroServer + 'static> ToolProvider for MacroServerAdapter<T>
Available on crate feature
macros only.