Two tools with complete input schemas and reasonable descriptions. tavily-search has a comprehensive parameter set with enums and constraints (search_depth, topic, time_range, country, max_results bounds). tavily-extract is simpler but well-defined. Descriptions are adequate (194 - 250 chars, within baseline 34 - 392 range) but lack actionable guidance on when to use each tool vs. the other, or what downstream steps follow. No output schema documentation visible. Error handling is minimal, no recovery guidance or categorization. Parameters are well-typed with enums where appropriate, but descriptions could be more prescriptive about format/constraints (e.g., 'country' enum is massive and could benefit from a note on how to handle user input like 'USA' vs 'united states'). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite both being read-only operations.
A powerful web content extraction tool that retrieves and processes raw content from specified URLs, ideal for data collection, content analysis, and research tasks.
A powerful web search tool that provides comprehensive, real-time results using Tavily's AI search engine. Returns relevant web content with customizable parameters for result count, content type, and domain filtering. Ideal for gathering current information, news, and detailed web content analysis.
No output schema documentation. LLMs cannot plan downstream calls or extract required fields (e.g., does tavily-search return follow_up_questions, images, raw_content in all cases?). Responses are unstructured from the agent's perspective.
No tool annotations. Both tools are read-only (safe to retry), but readOnlyHint is absent. Agents cannot distinguish these from destructive tools without explicit hints.
Descriptions lack recovery guidance. No mention of when to use tavily-search vs tavily-extract, or what to do if a search returns no results. Agents must infer intent.
country parameter enum is 195 entries long. LLMs struggle with massive enums. Consider accepting country names, codes (ISO 3166-1 alpha-2), or a separate lookup tool.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
No error handling guidance in code. If API returns 401 (invalid key), 429 (rate limit), or 400 (bad query), agents receive raw errors with no recovery path.