Get list of available tools in the tool-based agent.
(
current_user: User = Depends(get_current_user)
)
| 121 | |
| 122 | @router.get("/tools") |
| 123 | async def get_available_tools( |
| 124 | current_user: User = Depends(get_current_user) |
| 125 | ) -> Dict[str, Any]: |
| 126 | """Get list of available tools in the tool-based agent.""" |
| 127 | return { |
| 128 | "tools": [ |
| 129 | { |
| 130 | "name": "smart_scraper", |
| 131 | "description": "Extract structured data from a single webpage", |
| 132 | "parameters": ["website_url", "user_prompt"], |
| 133 | "use_cases": [ |
| 134 | "Extract contact information", |
| 135 | "Get product details", |
| 136 | "Scrape article content" |
| 137 | ] |
| 138 | }, |
| 139 | { |
| 140 | "name": "smart_crawler", |
| 141 | "description": "Crawl and extract data from multiple pages", |
| 142 | "parameters": ["website_url", "user_prompt", "max_depth", "max_pages"], |
| 143 | "use_cases": [ |
| 144 | "Scrape entire product catalogs", |
| 145 | "Collect data from blog archives", |
| 146 | "Extract data from multi-page listings" |
| 147 | ] |
| 148 | }, |
| 149 | { |
| 150 | "name": "search_scraper", |
| 151 | "description": "Search for websites based on a query", |
| 152 | "parameters": ["search_query", "max_results"], |
| 153 | "use_cases": [ |
| 154 | "Find relevant websites for a topic", |
| 155 | "Discover data sources", |
| 156 | "Research competitors" |
| 157 | ] |
| 158 | }, |
| 159 | { |
| 160 | "name": "markdownify", |
| 161 | "description": "Convert webpage to clean markdown", |
| 162 | "parameters": ["website_url"], |
| 163 | "use_cases": [ |
| 164 | "Create documentation from web pages", |
| 165 | "Extract readable content", |
| 166 | "Archive web content" |
| 167 | ] |
| 168 | }, |
| 169 | { |
| 170 | "name": "validate_urls", |
| 171 | "description": "Check if URLs are accessible", |
| 172 | "parameters": ["urls"], |
| 173 | "use_cases": [ |
| 174 | "Verify URLs before scraping", |
| 175 | "Filter out broken links", |
| 176 | "Check website availability" |
| 177 | ] |
| 178 | } |
| 179 | ] |
| 180 | } |
nothing calls this directly
no outgoing calls
no test coverage detected