pub struct ToolRegistry { /* private fields */ }Expand description
Registry for managing dynamically generated MCP tools from OpenAPI operations
Implementations§
Source§impl ToolRegistry
impl ToolRegistry
Sourcepub fn register_from_spec(
&mut self,
spec: Spec,
tag_filter: Option<&[String]>,
method_filter: Option<&[Method]>,
) -> Result<usize, Error>
pub fn register_from_spec( &mut self, spec: Spec, tag_filter: Option<&[String]>, method_filter: Option<&[Method]>, ) -> Result<usize, Error>
Register tools from a specification
§Errors
Returns an error if any tool fails to be generated or registered
Sourcepub fn register_tool(
&mut self,
tool: ToolMetadata,
operation: (Operation, String, String),
) -> Result<(), Error>
pub fn register_tool( &mut self, tool: ToolMetadata, operation: (Operation, String, String), ) -> Result<(), Error>
Register a single tool with its corresponding operation
§Errors
Returns an error if the tool metadata is invalid or the tool name already exists
Sourcepub fn get_tool(&self, name: &str) -> Option<&ToolMetadata>
pub fn get_tool(&self, name: &str) -> Option<&ToolMetadata>
Get tool metadata by name
Sourcepub fn get_operation(
&self,
tool_name: &str,
) -> Option<&(Operation, String, String)>
pub fn get_operation( &self, tool_name: &str, ) -> Option<&(Operation, String, String)>
Get operation by tool name
Sourcepub fn get_tool_names(&self) -> Vec<String>
pub fn get_tool_names(&self) -> Vec<String>
Get all tool names
Sourcepub fn get_all_tools(&self) -> Vec<&ToolMetadata>
pub fn get_all_tools(&self) -> Vec<&ToolMetadata>
Get all tools
Sourcepub fn tool_count(&self) -> usize
pub fn tool_count(&self) -> usize
Get number of registered tools
Sourcepub fn remove_tool(&mut self, name: &str) -> Option<ToolMetadata>
pub fn remove_tool(&mut self, name: &str) -> Option<ToolMetadata>
Remove a tool by name
Sourcepub fn get_stats(&self) -> ToolRegistryStats
pub fn get_stats(&self) -> ToolRegistryStats
Get registry statistics
Trait Implementations§
Source§impl Clone for ToolRegistry
impl Clone for ToolRegistry
Source§fn clone(&self) -> ToolRegistry
fn clone(&self) -> ToolRegistry
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ToolRegistry
impl Debug for ToolRegistry
Auto Trait Implementations§
impl Freeze for ToolRegistry
impl RefUnwindSafe for ToolRegistry
impl Send for ToolRegistry
impl Sync for ToolRegistry
impl Unpin for ToolRegistry
impl UnwindSafe for ToolRegistry
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