Skip to main content

Crate toolsearch

Crate toolsearch 

Source
Expand description

§toolsearch

A Rust library for searching tools across multiple MCP (Model Context Protocol) servers.

This library provides functionality to:

  • Connect to multiple MCP servers
  • List and search tools across servers
  • Filter tools by name, description, or other criteria

§Simple Example

use toolsearch::{load_servers, simple_search};

// Load servers from config file (validates automatically)
let servers = load_servers("servers.json")?;

// Simple search - auto-detects search mode
let results = simple_search(&servers, "read file").await?;
for result in results {
    println!("Found tool: {} on server: {}", result.tool_name(), result.server_name);
}

§Advanced Example with Builder

use toolsearch::{load_servers, SearchBuilder};

let servers = load_servers("servers.json")?;

let results = SearchBuilder::new(servers)
    .query("read,file")  // Comma-separated = keyword matching
    .limit(10)          // Limit results
    .sort_by_tool()     // Sort by tool name
    .search()
    .await?;

Re-exports§

pub use error::ToolSearchError;
pub use search::load_servers;
pub use search::SearchBuilder;

Modules§

error
search
Simplified high-level search API

Structs§

SearchCriteria
Search criteria for filtering tools
SearchFields
Fields to search in
SearchOptions
Options for search operations
ServerConfig
Configuration for an MCP server
ToolSearchMatch
Result of a tool search

Enums§

SearchMode
Search mode for pattern matching
SortOrder
Sort order for search results
TransportConfig
Transport configuration for connecting to MCP servers

Functions§

list_all_tools
List all tools from all servers without filtering
list_tools_from_server
List all tools from a single MCP server
list_tools_from_server_with_timeout
List all tools from a single MCP server with timeout
search_tools
Search for tools across multiple MCP servers (sequential)
search_tools_with_keywords
Search tools using keywords (all must match)
search_tools_with_options
Search for tools across multiple MCP servers with options
search_tools_with_query
Convenience function to search tools with a query string
search_tools_with_regex
Search tools using regex pattern